plotly-dash - Dash/Plotly - 使用 multi true 时如何关闭下拉列表中的清除值?
解决方案
在基于下拉列表生成数据的回调中,您可以简单地添加一个检查,以说明何时未选择下拉选项。
由于您已设置下拉列表multi=True
的value
属性将始终是一个列表:
if not dropdown_values:
# The dropdown_values list is empty, return your graphs...
如果您不喜欢默认占位Select...
符,可以使用.placeholder
dcc.Dropdown
或者,如果您希望某个选项保持活动状态,您可以在清除该选项或清除每个选项后重新添加此选项:
from dash import Dash
import dash_core_components as dcc
from dash.dependencies import Output, Input, State
default_dropdown_value = "MTL"
app = Dash(__name__)
app.layout = dcc.Dropdown(
id="dropdown",
options=[
{"label": "New York City", "value": "NYC"},
{"label": "Montreal", "value": "MTL"},
{"label": "San Francisco", "value": "SF"},
],
value=[default_dropdown_value],
multi=True,
)
@app.callback(Output("dropdown", "value"), Input("dropdown", "value"))
def dropdown_callback(dropdown_value):
if not dropdown_value:
return [default_dropdown_value]
return dropdown_value
if __name__ == "__main__":
app.run_server(debug=True)
或者您可以添加一些针对第一个选项并禁用指针事件的 css:
.Select-multi-value-wrapper .Select-value:first-child {
pointer-events: none;
}
或者你可以完全隐藏x
's。这些有一个Select-value-icon
你可以针对它们的类。
推荐阅读
- react-native - Android 7 React Native 上的启动画面上的应用程序崩溃
- javascript - 谷歌表格使用脚本将一列翻译成另一列
- github - 向 GitHub 发送电子邮件无回复电子邮件 ID
- java - Java WeakReference 测试未按预期工作
- javascript - 传递最后一项时,如何将最后 N 个值存储在具有自动循环到第一项的数组中?
- c++ - C++ 语言中的动态内存分配
- mysql - 查询包含对象的json数组
- css - 以厘米(或英寸)为单位的窗口大小的媒体查询
- python - 如何使用 numba 加速 spsolve?
- python - 如何在每两行之后在 selenium python 中添加逗号?