From 982d8f69de7c7439464a4f79501a0f1289dcec91 Mon Sep 17 00:00:00 2001 From: Vanessa Date: Tue, 30 Sep 2025 09:33:03 +0800 Subject: [PATCH] :art: https://github.com/siyuan-note/siyuan/pull/15965 --- app/src/layout/dock/Files.ts | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/app/src/layout/dock/Files.ts b/app/src/layout/dock/Files.ts index 27038d664..ae4f97108 100644 --- a/app/src/layout/dock/Files.ts +++ b/app/src/layout/dock/Files.ts @@ -322,9 +322,14 @@ export class Files extends Model { this.lastSelectedElement = target; } else if (event.shiftKey && !event.altKey && isNotCtrl(event)) { // Shift+click 多选文档 + if (!document.contains(this.lastSelectedElement)) { + this.lastSelectedElement = null; + } if (!this.lastSelectedElement) { - this.lastSelectedElement = this.element.querySelector(".b3-list-item--focus")|| - this.element.querySelector(".b3-list-item"); + this.lastSelectedElement = this.element.querySelector(".b3-list-item--focus"); + } + if (!this.lastSelectedElement) { + this.lastSelectedElement = target.parentElement.firstElementChild; } this.element.querySelectorAll(".b3-list-item--focus").forEach(item => { item.classList.remove("b3-list-item--focus"); @@ -339,7 +344,7 @@ export class Files extends Model { // 确定选择范围 const start = Math.min(startIndex, endIndex); - const end = Math.max(startIndex, endIndex) + const end = Math.max(startIndex, endIndex); // 添加新选择 for (let i = start; i <= end; i++) {