Я пытаюсь создать следующий вывод (при условии, что все флажки выбраны) с помощью тире:
US: MTL
NYC
SF
Europe: BER
AMS
PAR
Если ни один из флажков не установлен, то ни «US:», ни «Европа»"должен отображаться.Если, скажем, выбран только AMS, то я бы отображал только «Европа» и «AMS», но больше ничего.В моем собственном коде у меня есть много других категорий и опций, но, пожалуйста, найдите ниже базовую версию для иллюстрации того, что у меня сейчас есть.
Спасибо, ребята!
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=[
#Output
html.Div(id='my-div-checklist1'),
#Clickboxes
dcc.Checklist(id='my-checklist1',
options=[
{'label': 'New York City', 'value': 'NYC'},
{'label': 'Montréal', 'value': 'MTL'},
{'label': 'San Francisco', 'value': 'SF'}
],
value=[]
),
html.Hr(),
dcc.Checklist(id='my-checklist2',
options=[
{'label': 'Berlin', 'value': 'BER'},
{'label': 'Amsterdam', 'value': 'AMS'},
{'label': 'Paris', 'value': 'PAR'}
],
value=[],
labelStyle={'display': 'inline-block'}
),
html.Div(id='my-div-checklist2'),
html.Hr(),
])
@app.callback(Output('my-div-checklist1', 'children'),
[Input('my-checklist1', 'value'),
Input('my-checklist2', 'value')
])
def prepare_data(categ1, categ2):
return html.Div([dcc.Markdown(
str(" ".join(categ1 )) + " " + '\n' + '\n' +
str(" ".join(categ2)))])
if __name__ == '__main__':
app.run_server(debug=True)