1 回答
TA贡献1799条经验 获得超9个赞
您需要将dcc.Store
组件托管在index.py
文件中,而不是选项卡之一中。
这是因为当您切换选项卡时,您的所有内容html.Div(id="tab_content")
都会消失并成为新选项卡。如果您在或什至在您的内部添加组件,dcc.Store
那么当您导航到不同的选项卡时,这些存储的组件将消失并重置,而当您返回到第一个选项卡时,这些存储的组件将丢失。
此外,当您单击新选项卡时,如果您希望数据保留在您放入的数据中,则dcc.Store
需要index.py
在新选项卡上重新加载它。这样,您可以dcc.Store
在重新加载选项卡时向其提供内容,以便您可以维护从用户首次访问选项卡时收集的数据。
我可能还建议dcc.Store
每个选项卡使用不同的选项卡,所有选项卡都存储在index.py
. 这可能会简化您必须传递到不同选项卡的内容。例如,如果您收集的一些数据tab 1
与您从 收集的数据无关tab 2
,那么您不需要将dcc.Store
from传递tab 1
到 intotab 2
来缓存您的tab 2
数据。但是,您tab 3
可能需要来自tab 1
和 的数据tab 2
,因此您可以在 的布局中有 2 个输入,tab 3
分别对应于dcc.Store
和tab 1
的组件tab 2
。然而,另一种选择可能是拥有一个dcc.Store
带有键tab 1
和的字典tab 2
对应于您要从每个选项卡存储的数据。我不完全确定从性能角度来看一种方法是否比另一种方法好得多,但我个人更喜欢dcc.Store
每个“用户输入集合”选项卡都有不同的方法,我随后可以在“编译/输出/可视化”选项卡上使用它组织的缘故。它还允许您以不同的方式保存来自不同选项卡的信息(例如每个会话或内存),如果这对您的应用程序有意义的话。
添加回答
举报