Kaynağa Gözat

fix: 优化目录选择器,避免重复加载数据源配置并重置选择索引

zhch158_admin 2 gün önce
ebeveyn
işleme
3327051a35

+ 4 - 2
table_line_generator/editor/directory_selector.py

@@ -42,7 +42,9 @@ def create_directory_selector(
     source_cfg = next(src for src in data_sources if src["name"] == selected_name)
     
     # 🔑 保存当前选择的数据源配置到 session_state
-    st.session_state.current_data_source = source_cfg
+    if "current_data_source" not in st.session_state or st.session_state.current_data_source != source_cfg:
+        st.session_state.current_data_source = source_cfg
+        st.session_state.dir_selected_index = 0
     
     # 获取输出配置(优先使用数据源自己的 output)
     output_cfg = source_cfg.get("output", global_output_config)
@@ -57,7 +59,7 @@ def create_directory_selector(
     st.sidebar.info(f"🔧 工具: {tool.upper()}")
     
     # 构建/缓存目录清单
-    catalog_key = f"catalog::{selected_name}"
+    catalog_key = f"catalog::{source_cfg['json_dir']}"
     if catalog_key not in st.session_state:
         st.session_state[catalog_key] = build_data_source_catalog(source_cfg)
     catalog = st.session_state[catalog_key]