Dash : 回调不会有任何输出

Dash : callback won't take any output

经过多次尝试和研究,我无法弄清楚原因,但是此回调输出的任何目标都会 return a key_error :

布局:

...
app = DjangoDash('liste_app', serve_locally=True)
app.layout = ...
...
...
html.Div(className='card-body',
            children=[
                 dcc.Store(id='sorted_storage', data=''),
                 html.P(children=['filler text'],
                        id="sorted_liste", style={'overflow': 'scroll',
                                                  'height': '100px'})
                 ])
...

回调:

@app.expanded_callback(
    [Output('sorted_storage', 'data')],
    [Input('insert', 'n_clicks')],
    [State('tabs', 'value')]
    )
def insertSortButton(n_clicks, value, **context):
    if n_clicks is not None:
        liste = get_int_liste(context['request'].session.session_key, int(value))
        sorted_liste, time = insertSort(liste)
        save_algo_result(sorted_liste, time, context['request'].session.session_key, int(value), 'insert')
    else:
        sorted_liste = 0
    return sorted_liste

错误:

File "D:\Projets\Python\Exercices\Algorithmique\venv\lib\site-packages\django_plotly_dash\dash_wrapper.py", line 620, in dispatch_with_args
    for component_registration in self.callback_map[target_id]['inputs']:
KeyError: 'sorted_storage.data'

我终于发现我做错了什么:如果只有一个输出,它一定不在列表中。

这是我的代码,returning key_error :

@app.expanded_callback(
[Output('sorted_storage', 'data')],
[Input('insert', 'n_clicks')],
[State('tabs', 'value')]
)

这是正确的代码,工作正常:

@app.expanded_callback(
Output('sorted_storage', 'data'),
[Input('insert', 'n_clicks')],
[State('tabs', 'value')]
)

误导的部分是输入和状态的工作方式相反:

@app.expanded_callback(
[Output('sorted_storage', 'data')],
Input('insert', 'n_clicks'),
[State('tabs', 'value')]
)

@app.expanded_callback(
[Output('sorted_storage', 'data')],
[Input('insert', 'n_clicks')],
State('tabs', 'value')
)

那 2 个代码块 return 错误“'Input' 对象不可迭代”/“'State' 对象不可迭代”。

希望有一天能对某人有所帮助