【发布时间】:2020-05-22 18:30:10
【问题描述】:
我有一个仪表板,用户可以在其中从下拉菜单中选择替代方案。我想补充 根据选择的下拉选项显示的警报。
这是一个示例脚本:
import dash
import dash_bootstrap_components as dbc
import dash_core_components as dcc
import dash_html_components as html
from dash.dependencies import Input, Output, State
app = dash.Dash(external_stylesheets=[dbc.themes.BOOTSTRAP])
app.layout = html.Div(
[
dcc.Dropdown(
id='dropdown',
options=[
{'label': 'New York City', 'value': 'NYC'},
{'label': 'Montreal', 'value': 'MTL'},
{'label': 'San Francisco', 'value': 'SF'}
],
value='NYC'
),
html.Hr(),
dbc.Alert(
"Hello! I am an alert",
id="alert-fade",
is_open=False,
),
html.Hr(),
html.Div(id='dd-output-container')
]
)
@app.callback([
Output("alert-fade", "is_open"),
Output("dd-output-container", "children")],
[Input("dropdown", "value")],
[State("alert-fade", "is_open")],
)
def toggle_alert(dropdown, is_open):
if dropdown == "NYC":
return True
else:
return False
def update_output(value):
return 'You have selected "{}"'.format(value)
if __name__ == "__main__":
app.run_server(debug=True)
在我添加多个输出之前,警报按预期工作(仅在选择 NYC 时才显示警报)。但是在添加第二个输出时我无法让它工作。
【问题讨论】: