html打印成功回调,dash app:返回html.div时回调执行多次

我的Dash应用程序中有以下输入和按钮组件:

html.Div(

dcc.Input(

id='id_selector',

placeholder='',

type='text',

value=''

)

),

html.Button(

type = 'submit',

id = 'submit-button',

className = 'btn btn-info',

children = [

html.Span('Go!'),

]

)

这些组成部分:

html.Div(id='output'),

html.Div(

dcc.Graph(id='heatmap_id')

)

然后我添加这样的回调:

app.callback(

Output(component_id='output', component_property='children'),

[Input('submit-button','n_clicks')],

[State('id_selector', 'value')])

def update_output(n_clicks, input_ID):

print(input_ID)

return html.Div(

"you have selected"+input_ID

,id='output')

但是,当我这样做时,回调会执行几次,而且不仅是在我单击按钮的情况下。

如果我做了这个改变:

app.callback(

Output('heatmap_id', 'figure'),

[Input('submit-button','n_clicks')],

[State('id_selector', 'value')])

def update_output(n_clicks, input_ID):

print(input_ID)

{HERE I CREATE A THE FIG}

fig = go.Figure(data=data, layout=layout)

return fig

在这种情况下,一切正常,只有当我单击按钮时才会执行回调。

为什么会有这种不同?

之所以要使用第一个选项(返回一个html.div而不是一个图),是因为当我进入我的应用程序时,在第二种情况下我有一个空的绘图,我希望在第一个情况下有一个空的空间。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值