首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >实际上用状态破折号app.long_callback参数

实际上用状态破折号app.long_callback参数
EN

Stack Overflow用户
提问于 2022-06-09 10:02:42
回答 2查看 120关注 0票数 0
代码语言:javascript
复制
@app.long_callback(
    outputs = Output("optimize-result", "children"),
    inputs = Input("optimize-button-id", "n_clicks"),
    states = dict(
        reorder_period = State("reorder-period-dropdown-id", "value"),
        forecast = State("forecast-dropdown-id", "value")
    ),
    running = [
        (Output("optimize-button-id", "disabled"), True, False),
    ],
    prevent_initial_call = True,
)
def load_optimize_data_button_click(number_clicks, reorder_period, forecast):

怎么能解决这个问题。它导致了一个TypeError: load_optimize_data_button_click() missing 2 required positional arguments: 'reorder_period' and 'forecast'

对于正常的回调,请参见以下内容:

代码语言:javascript
复制
@app.callback(
    Output("optimize-result", "children"),
    Input("optimize-button-id", "n_clicks"),
    State("reorder-period-dropdown-id", "value"),
    State("forecast-dropdown-id", "value"),
    prevent_initial_call = True,
)
def load_optimize_data_button_click(number_clicks, reorder_period, forecast):

我遇到了麻烦,因为我找不到app.long_callback使用的参数的api文档。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-06-09 13:08:56

您可以简单地使用:

代码语言:javascript
复制
@app.long_callback(
    output=Output("optimize-result", "children"),
    inputs=dict(number_clicks=Input("optimize-button-id", "n_clicks")),
    state=dict(
        reorder_period=State("reorder-period-dropdown-id", "value"),
        forecast=State("forecast-dropdown-id", "value")
    ),
    running=[
        (Output("optimize-button-id", "disabled"), True, False),
    ],
    prevent_initial_call=True,
)
def load_optimize_data_button_click(number_clicks, reorder_period, forecast):
    pass

首先,根据文档,使用state而不是states。其次,输入和状态的数据类型显然都需要相同,要么两者都是list,要么是dict。

上面的代码与Dash 2.0.0一起工作。希望这会有所帮助:)

票数 1
EN

Stack Overflow用户

发布于 2022-06-09 11:30:43

代码语言:javascript
复制
@app.long_callback(
    Output("optimize-result", "children"),
    Input("optimize-button-id", "n_clicks"),
    [State("reorder-period-dropdown-id", "value"),
     State("forecast-dropdown-id", "value")],
    running=[
        (Output("optimize-button-id", "disabled"), True, False),
    ],
    prevent_initial_call = True,
)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72558387

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档