根据 python 中先前 radioitem/dropdown 中的选择禁用下拉列表 plotly dash

disabling a dropdown based on choice in previous radioitem/dropdown in python plotlydash

我有 3 个链接的下拉菜单,但我希望根据我的单选项目中的值禁用它们(不仅仅是选项,而是整个下拉菜单)。现在从我的代码中:

initialoptions = ["All music", "I choose"]
    dcc.RadioItems(
        id='initialoptions',
        options=[{'label': k, 'value': k} for k in initialoptions],
        value="All music",
        style={'textAlign':'center', 'font-family' : 'Roboto',"fontSize" : 14}

@app.callback(
    Output('artistnames', 'disabled'),
    Output('albumnames', 'disabled'),
    Output('songnames', 'disabled'),
    Input('initialoptions', 'value'))
def disable_options(selected_option):
    if selected_option=="All music":
        return True
    else:
        return False

我希望一旦你按下“我选择” 它将 return False 否则它们将保持禁用状态。 但是我似乎无法让它完全禁用它们,有什么想法吗? 我可以给下拉菜单 disabled=true 开始,但他们不会通过按其他选项再次启用。

我找到了解决方案:

如果您想一次更改 3 个输出,return 必须为每个输出提供一个包含 1 return 的元组,这意味着解决方案正在更改

return True
    else:
        return False

至:

return (True,True,True)
    else:
        return (False,False,False)