如何在 Dash Python 中将值参数与选项参数相同

问题描述 投票:0回答:0

我尝试使用 Dash 使用一堆过滤器制作地图可视化。在这种情况下,我的 Dash 组件使用 DMC 或 Dash Mantine Component。我试图构建类似“链接回调”的东西,第一个多选将影响第二个多选选项。这就是我所拥有的

然后如果您更改“块名称”输入,它将影响第二个多选组件“操作员名称”中的可用性选项

现在的问题是,如何在“运营商名称”输入中设置默认值,以便每次重新加载页面时,“运营商名称”都会输入可用选项。当我重新加载页面时是这样的

设置默认值。我如何在 Dash Mantine 组件中执行此操作? 到目前为止,这是我的代码

html.Div(
    className='accordion-content',
    children=[

html.H5('Block Name', style={'marginTop':20}),
dmc.MultiSelect(
    placeholder="Select Block Name",
    id="multiselect-block",
    value=all_blocks['Block_Name'].to_list(),
    data=all_blocks['Block_Name'].to_list(),
    style={'marginTop':10},
    clearable=True,
    searchable=True,
    nothingFound= 'No Options Found'
    ),

html.H5('Operator Name', style={'marginTop':20}),
dmc.MultiSelect(
    placeholder="Select Operator Name",
    id="multiselect-operator",
    value=[], #here is the problem, I dont know how to set the value here
    data=[],
    style={'marginTop':10},
    clearable=True,
    searchable=True,
    nothingFound= 'No Options Found'
    )

@app.callback(
    Output('multiselect-operator', 'data'),
    Input('multiselect-block', 'value')
)

def set_operator_option(chosen_block):
    if chosen_block is None:
        df_operator=[]
    else:
        df_operator = all_blocks[all_blocks['Block_Name'].isin(chosen_block)]
    return pd.unique(df_operator['Operator'].to_list())
python callback plotly-dash
© www.soinside.com 2019 - 2024. All rights reserved.