浏览代码

:bug: fix https://github.com/siyuan-note/siyuan/issues/5533

Vanessa 3 年之前
父节点
当前提交
d5c22ad08b
共有 1 个文件被更改,包括 15 次插入1 次删除
  1. 15 1
      app/src/util/backForward.ts

+ 15 - 1
app/src/util/backForward.ts

@@ -53,7 +53,21 @@ const focusStack = async (stack: IBackStack) => {
                     tab.addModel(editor);
                     tab.addModel(editor);
                 }
                 }
             });
             });
-            wnd.addTab(tab);
+            if (window.siyuan.config.fileTree.openFilesUseCurrentTab) {
+                let unUpdateTab: Tab;
+                // 不能 reverse, 找到也不能提前退出循环,否则 https://github.com/siyuan-note/siyuan/issues/3271
+                wnd.children.forEach((item) => {
+                    if (item.headElement && item.headElement.classList.contains("item--unupdate") && !item.headElement.classList.contains("item--pin")) {
+                        unUpdateTab = item;
+                    }
+                });
+                wnd.addTab(tab);
+                if (unUpdateTab) {
+                    wnd.removeTab(unUpdateTab.id);
+                }
+            } else {
+                wnd.addTab(tab);
+            }
             wnd.showHeading();
             wnd.showHeading();
             // 页签关闭
             // 页签关闭
             setTimeout(() => {
             setTimeout(() => {