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.Storefrom傳遞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每個“用戶輸入集合”選項卡都有不同的方法,我隨后可以在“編譯/輸出/可視化”選項卡上使用它組織的緣故。它還允許您以不同的方式保存來自不同選項卡的信息(例如每個會話或內存),如果這對您的應用程序有意義的話。
添加回答
舉報
