【发布时间】:2019-09-04 09:03:01
【问题描述】:
我尝试构建一个仪表板,允许用户检查不同的复选框,我想出了如何去做。我正在努力解决的是如何将输出合并到页面底部的一行中(而不是单个输出,就在复选框选择下方)。
我发现“状态”和“缓存”是一种可能的解决方案,但我不知道下一步该做什么。
感谢您的帮助。
import dash
import dash_core_components as dcc
import dash_html_components as html
from dash.dependencies import Input, Output, State
import time
external_stylesheets = ['https://codepen.io/chriddyp/pen/bWLwgP.css']
app = dash.Dash(__name__, external_stylesheets=external_stylesheets)
app.layout = html.Div(children=[
dcc.Checklist(id='my-checklist1',
options=[
{'label': 'New York City', 'value': 'NYC'},
{'label': 'Montréal', 'value': 'MTL'},
{'label': 'San Francisco', 'value': 'SF'}
],
value=['MTL', 'SF']
),
html.Div(id='my-div-checklist1'),
html.Hr(),
dcc.Checklist(id='my-checklist2',
options=[
{'label': 'New York City', 'value': 'NYC'},
{'label': 'Montréal', 'value': 'MTL'},
{'label': 'San Francisco', 'value': 'SF'}
],
value=['MTL', 'SF'],
labelStyle={'display': 'inline-block'}
),
html.Div(id='my-div-checklist2'),
html.Hr(),
])
@app.callback(Output('my-div-checklist1', 'children'),
[Input('my-checklist1', 'value')])
def prepare_data(categ):
if categ:
return html.Div([dcc.Markdown(
'''Output for {}'''.format(categ))])
@app.callback(Output('my-div-checklist2', 'children'),
[Input('my-checklist2', 'value')])
def prepare_data(categ):
if categ:
return html.Div([dcc.Markdown(
'''Output for {}'''.format(categ))])
if __name__ == '__main__':
app.run_server(debug=True)
如果我选择我得到的所有框:
第一部分下的“MTL”、“SF”、“NYC”的输出和 第二部分下的“MTL”、“SF”、“NYC”的输出。
我想要的是: 'MTL'、'SF'、'NYC'、'MTL'、'SF'、'NYC'的输出
【问题讨论】:
标签: python-3.x radio-button plotly dashboard plotly-dash