我在Python中使用dash创建一个仪表板。我想要更新一个存储在一个Div中的字符串,每当一个新的字符串作为另一个仪表板元素/进程的一部分生成时。我最好的尝试是创建一个回调到这个是不成功的,但打算工作: 这是回调代码:
@Dashboard.callback(
Output('output_div', 'children'),
[Input('new_string', 'children')],
[State('output_div', 'children')]
)
def create_complete_string(new_string, string_in_output_div_so_far):
if string_in_output_div_so_far is None:
return new_string
else:
return string_in_output_div_so_far + new_string
这并不像期望的那样工作,因为它只在output_div中输出new_string的一个实例(生成的多个实例中的最后一个),而是将它们连接在一起。 谁能指出我做错了什么吗? 谢谢:) 问题来源StackOverflow 地址:/questions/59382089/how-to-use-a-callback-to-add-to-a-string-stored-in-a-div-using-dash-in-python
对于给定的代码段,很难找出错误,如果可以将最小的复制器粘贴为代码段,那就更好了;相反,这里是一个最小的工作代码,以满足;
import dash
from dash.dependencies import Input, Output, State
import dash_core_components as dcc
import dash_html_components as html
app = dash.Dash(__name__)
app.layout = html.Div([
dcc.Input(id="text"),
html.Div(id='new_string'),
html.Div(id='output_div'),
])
@app.callback(
Output('new_string', 'children'),
[Input('text', 'value')]
)
def output_text(text):
return text
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。