多选项卡 Dash 应用程序:在两个选项卡之间共享数据
Multi-Tab Dash App : share data between two tabs
我有一个多标签 dash 应用程序,其中每个标签的脚本都在一个单独的文件中。
dcc.Tabs(
id="tabs",
persistence=True,
children=[
dcc.Tab(label="Tab1", value="tab1",
children=[dcc.Tabs(id="subtabs",
children=[
dcc.Tab(label='subtab1', value='subtab1'),
dcc.Tab(label='subtab2', value='subtab2')
],
)
]),
],
)
我在用户单击按钮时计算一个值,该按钮呈现在 subtab1 的组件中。
# subtab1.py
layout = html.Div([
dbc.Input(
id="value1",
persistence=True,
),
dbc.Input(
id="value2",
persistence=True,
),
])
# Callback
@app.callback(Output('value1', 'value'),
[Input('value2', 'value')])
def resetInput(value):
return value
现在 subtab2.py
,我想将这个计算值传递给一个组件来呈现这个值。
# subtab2.py
layout = html.Div([
dbc.Input(
id="value3",
persistence=True,
),
])
# Callback
@app.callback(Output('value3', 'value'),
[Input('value-from-subtab1', 'value')])
def resetInput(value):
return value
有没有办法在不同的标签之间共享数据?这对于 multi-page/tab dash 应用程序来说是一个非常有用的功能。
我觉得this would be a great solution。使用 dcc.Store
组件将数据放入,然后再将其读出。第一个选项卡可以输出到它,第二个选项卡可以读取它。
我有一个多标签 dash 应用程序,其中每个标签的脚本都在一个单独的文件中。
dcc.Tabs(
id="tabs",
persistence=True,
children=[
dcc.Tab(label="Tab1", value="tab1",
children=[dcc.Tabs(id="subtabs",
children=[
dcc.Tab(label='subtab1', value='subtab1'),
dcc.Tab(label='subtab2', value='subtab2')
],
)
]),
],
)
我在用户单击按钮时计算一个值,该按钮呈现在 subtab1 的组件中。
# subtab1.py
layout = html.Div([
dbc.Input(
id="value1",
persistence=True,
),
dbc.Input(
id="value2",
persistence=True,
),
])
# Callback
@app.callback(Output('value1', 'value'),
[Input('value2', 'value')])
def resetInput(value):
return value
现在 subtab2.py
,我想将这个计算值传递给一个组件来呈现这个值。
# subtab2.py
layout = html.Div([
dbc.Input(
id="value3",
persistence=True,
),
])
# Callback
@app.callback(Output('value3', 'value'),
[Input('value-from-subtab1', 'value')])
def resetInput(value):
return value
有没有办法在不同的标签之间共享数据?这对于 multi-page/tab dash 应用程序来说是一个非常有用的功能。
我觉得this would be a great solution。使用 dcc.Store
组件将数据放入,然后再将其读出。第一个选项卡可以输出到它,第二个选项卡可以读取它。