Dash rangeslider 'Input' 不可迭代

Dash rangeslider 'Input' is not iterbale

我正在开发一个 Dash 应用程序,我需要更改导入数据的大小,为此我需要使用 RangeSlider,左边界是数据的开始,右边界是数据的结束。 这是我的 RangeSlider 函数:

dcc.RangeSlider(
            id='my-slider',
            min=0,
            max=12,
            step=1,
            value=[8, 12],
        ),

这是我的回调函数:

@yield_model_app.callback(Output("plot_static", "figure"), Input("my_slider", "value"))
def update_comparison_graf(date_chosen):
    return draw_comparison_graph(date_chosen[0], date_chosen[1])

但是这会引发错误:TypeError: 'Input' object is not iterable 为什么会这样?根据 Dash,输出应该是 2 个值的列表 [left_bound, right_bound] 那么为什么我会收到此错误?

您的回调应该如下所示:

@yield_model_app.callback(Output("plot_static", "figure"), [Input("my_slider", "value")])
def update_comparison_graf(date_chosen):
    return draw_comparison_graph(date_chosen[0], date_chosen[1])

请注意 Input 是如何包裹在方括号中的,在这种情况下使其成为长度为 1 的列表。