首页 > 解决方案 > 下拉列表错误地在回调后一直重置为默认值

问题描述

当通过按钮控制时,我遇到了下拉菜单不保持其值的问题。

在一个实用程序文件中,我有一个返回 html.Div() 的函数。

def my_div(display):
    return html.Div( id = "my-container",
        children=[
            html.Div(
                children=[
                    dcc.Dropdown(
                        id="my-selector",
                        options=[
                            {"label": "x", "value": "x"},
                            {"label": "y", "value": "y"},
                        ],
                        style={'display' : display},
                        persistence=True,
                        value= 'x',
                        clearable=False
                    )
                ],
                style={"width": "250px", "marginLeft": "16px"}
            ),
        ],
        className='filter-selector',
    )

在另一个索引文件中,我有以下回调。

@app.callback(
    [Output('my-selector', 'value')],
    [Input('update', 'n_clicks')]
)
def set_squashed_point(n_clicks):
    if n_clicks >= 1:
        return "y"
    else:
        return "x"

在 UI 中,我有一个按钮,当单击该按钮时,它会成功调用回调,因此我希望下拉菜单 my-selector 将其值从 x 更改为 y 并在 y 处说,而是返回到 x。这是为什么 ??

如何让我的回调设置下拉菜单并保持设置的值?

我对此感到非常困惑,并希望得到一些帮助。

标签: plotly-dashplotly-python

解决方案


推荐阅读