根据 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)
我有 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)