在 Plotly Dash 中无需选择即可激活回调
Callback gets activated without selection in Plotly Dash
我正在使用 Plotly Dash 创建仪表板,但在使用回调时遇到了一些问题。
首先,我不完全理解使用 'value'、'options' 或 'children' 之间的区别以及 input/output 调用还有多少选项。例如:
@app.callback(
Output("output", "children"),
Input("num_exp", "value"),
)
其次,虽然下拉列表在我 select 一个选项后工作正常,但在开始 运行 代码时它已经给出了返回 'None' select 的错误离子。我不明白为什么会发生这种情况,因为我认为回调只是在实际 select 在下拉列表中输入内容时才被激活。
任何帮助都会有用 :) 谢谢!
好的,错误消息中显示的回调需要 Input
。现在,它不是,所以代码认为函数参数 dd_properties
是 None
。然后您尝试使用它来索引列表或其他内容,但它会中断。那是你的 KeyError
.
您使用的属性 (props) 之间的区别(例如 value
、children
等)是您针对的是组件的哪一部分。所以,你可以有这样的东西
html.Div(
id='my-id',
children='This is my favorite color',
style=dict(color='blue'), # no, yellooooooooow
)
您可以通过使用 Output('my-id', 'children')
设置回调来让回调将其值输出到 children
道具,或者您可以将其输出到 style
属性 与 Output('my-id', 'style')
。同样适用于 Input
,以及 what prop 触发回调。对于下拉菜单,如果使用组件中的 value
属性 (Input('my-dropdown', 'value')
),那么当有人在下拉菜单中进行选择时回调将 运行。但是,如果使用 options
属性,那么当下拉列表中的选项列表发生变化时回调 运行s,可能是另一个输出到 options
属性的回调的结果(导致链式回调)。
我正在使用 Plotly Dash 创建仪表板,但在使用回调时遇到了一些问题。
首先,我不完全理解使用 'value'、'options' 或 'children' 之间的区别以及 input/output 调用还有多少选项。例如:
@app.callback(
Output("output", "children"),
Input("num_exp", "value"),
)
其次,虽然下拉列表在我 select 一个选项后工作正常,但在开始 运行 代码时它已经给出了返回 'None' select 的错误离子。我不明白为什么会发生这种情况,因为我认为回调只是在实际 select 在下拉列表中输入内容时才被激活。
任何帮助都会有用 :) 谢谢!
好的,错误消息中显示的回调需要 Input
。现在,它不是,所以代码认为函数参数 dd_properties
是 None
。然后您尝试使用它来索引列表或其他内容,但它会中断。那是你的 KeyError
.
您使用的属性 (props) 之间的区别(例如 value
、children
等)是您针对的是组件的哪一部分。所以,你可以有这样的东西
html.Div(
id='my-id',
children='This is my favorite color',
style=dict(color='blue'), # no, yellooooooooow
)
您可以通过使用 Output('my-id', 'children')
设置回调来让回调将其值输出到 children
道具,或者您可以将其输出到 style
属性 与 Output('my-id', 'style')
。同样适用于 Input
,以及 what prop 触发回调。对于下拉菜单,如果使用组件中的 value
属性 (Input('my-dropdown', 'value')
),那么当有人在下拉菜单中进行选择时回调将 运行。但是,如果使用 options
属性,那么当下拉列表中的选项列表发生变化时回调 运行s,可能是另一个输出到 options
属性的回调的结果(导致链式回调)。