保存下拉列表的选定值并在另一个下拉列表/复制下拉列表中默认分配它
Save selected value of dropdown and assign it by default in another dropdown / Duplicate dropdown
我想知道是否可以保存下拉列表的 selected 值并将其默认放入具有相同值但位于另一个选项卡中的下拉列表中:
uriCounts 选项卡
dcc.Tab(label='uriCounts', value = 'es_uricounts', children = [
html.Div([
html.Br(),
html.H3("Choose uriCounts file version: "),
dcc.Dropdown(id='uriCounts_dropdown',options=[
{'label': 'Oct 1st 2016', 'value': 'Oct 1st 2016'},
{'label': 'Oct 1st 2020', 'value': 'Oct 1st 2020'},
{'label': 'May 25th 2021', 'value': 'May 25th 2021'},
{'label': 'Jun 25th 2021', 'value': 'Jun 25th 2021'}],
placeholder="Version"),
html.Br(),
html.Div(id='uriCounts_container')
],style = {'margin-left': '3.2552083333333335vw', 'margin-right': '3.2552083333333335vw'})
], style = tab_style, selected_style = tab_selected_style)
pairCounts 选项卡
dcc.Tab(label='pairCounts', children = [
html.Div([
html.Br(),
html.H3("Choose pairCounts file version: "),
dcc.Dropdown(id='pairCounts_dropdown',options=[
{'label': 'Oct 1st 2016', 'value': 'Oct 1st 2016'},
{'label': 'Oct 1st 2020', 'value': 'Oct 1st 2020'},
{'label': 'May 25th 2021', 'value': 'May 25th 2021'},
{'label': 'Jun 25th 2021', 'value': 'Jun 25th 2021'}],
value=**uriCounts_value**),
html.Br(),
html.Div(id='pairCounts_container')
], style = {'margin-left': '3.2552083333333335vw', 'margin-right': '3.2552083333333335vw'})
], style = tab_style, selected_style = tab_selected_style)
当您 select 在 uriCounts
选项卡的下拉列表中输入值时,我希望 pairCounts
选项卡的下拉列表分配该值。
另外,如果可以按相反的顺序完成就更好了:首先 select 在 pairCounts
选项卡的下拉列表中输入一个值,然后在 select 选项卡中输入该值uriCounts
选项卡的下拉菜单
希望你能帮我解决这个问题。提前致谢。
@AnnMarieW 在 Dash Community Forum
中给了我这个解决方案
在回调中同步下拉菜单是一种可能的解决方案:
@app.callback(
Output('dropdown1', 'value'),
Output('dropdown2', 'value'),
Input('dropdown1', 'value'),
Input('dropdown2', 'value'),
)
def sync_dropdowns(val1, val2):
ctx = dash.callback_context
input_id = ctx.triggered[0]['prop_id'].split('.')[0]
if input_id == 'dropdown1':
return dash.no_update, val1
else:
return val2, dash.no_update
我想知道是否可以保存下拉列表的 selected 值并将其默认放入具有相同值但位于另一个选项卡中的下拉列表中:
uriCounts 选项卡
dcc.Tab(label='uriCounts', value = 'es_uricounts', children = [
html.Div([
html.Br(),
html.H3("Choose uriCounts file version: "),
dcc.Dropdown(id='uriCounts_dropdown',options=[
{'label': 'Oct 1st 2016', 'value': 'Oct 1st 2016'},
{'label': 'Oct 1st 2020', 'value': 'Oct 1st 2020'},
{'label': 'May 25th 2021', 'value': 'May 25th 2021'},
{'label': 'Jun 25th 2021', 'value': 'Jun 25th 2021'}],
placeholder="Version"),
html.Br(),
html.Div(id='uriCounts_container')
],style = {'margin-left': '3.2552083333333335vw', 'margin-right': '3.2552083333333335vw'})
], style = tab_style, selected_style = tab_selected_style)
pairCounts 选项卡
dcc.Tab(label='pairCounts', children = [
html.Div([
html.Br(),
html.H3("Choose pairCounts file version: "),
dcc.Dropdown(id='pairCounts_dropdown',options=[
{'label': 'Oct 1st 2016', 'value': 'Oct 1st 2016'},
{'label': 'Oct 1st 2020', 'value': 'Oct 1st 2020'},
{'label': 'May 25th 2021', 'value': 'May 25th 2021'},
{'label': 'Jun 25th 2021', 'value': 'Jun 25th 2021'}],
value=**uriCounts_value**),
html.Br(),
html.Div(id='pairCounts_container')
], style = {'margin-left': '3.2552083333333335vw', 'margin-right': '3.2552083333333335vw'})
], style = tab_style, selected_style = tab_selected_style)
当您 select 在 uriCounts
选项卡的下拉列表中输入值时,我希望 pairCounts
选项卡的下拉列表分配该值。
另外,如果可以按相反的顺序完成就更好了:首先 select 在 pairCounts
选项卡的下拉列表中输入一个值,然后在 select 选项卡中输入该值uriCounts
选项卡的下拉菜单
希望你能帮我解决这个问题。提前致谢。
@AnnMarieW 在 Dash Community Forum
中给了我这个解决方案在回调中同步下拉菜单是一种可能的解决方案:
@app.callback(
Output('dropdown1', 'value'),
Output('dropdown2', 'value'),
Input('dropdown1', 'value'),
Input('dropdown2', 'value'),
)
def sync_dropdowns(val1, val2):
ctx = dash.callback_context
input_id = ctx.triggered[0]['prop_id'].split('.')[0]
if input_id == 'dropdown1':
return dash.no_update, val1
else:
return val2, dash.no_update