根据 python plotly dash 中先前单选项目/下拉列表中的选择禁用下拉列表

Posted

技术标签:

【中文标题】根据 python plotly dash 中先前单选项目/下拉列表中的选择禁用下拉列表【英文标题】:disabling a dropdown based on choice in previous radioitem/dropdown in python plotlydash 【发布时间】:2022-01-09 05:26:26 【问题描述】:

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

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

我希望一旦您按下“我选择” 它将返回 False ,否则它们将保持禁用状态。 但是我似乎无法让它完全禁用它们,有什么想法吗? 我可以先给下拉菜单设置 disabled=true ,然后再按另一个选项,它们就不会再启用了。

【问题讨论】:

【参考方案1】:

我找到了解决办法:

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

return True
    else:
        return False

到:

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

【讨论】:

以上是关于根据 python plotly dash 中先前单选项目/下拉列表中的选择禁用下拉列表的主要内容,如果未能解决你的问题,请参考以下文章

Plotly Dash:在 Python 中绘制 networkx

如何通过 Python 中的 Plotly 从 Dash 的下拉列表中选择数据集列?

即使屏幕尺寸在 Dash-plotly 中使用 python 改变,如何在导航栏中固定按钮的位置

Plotly Dash:图表未根据下拉选择更新

在 Plotly Dash 图表中放置刻度标签 - Python

python 示例django-plotly-dash views.py