From 12cab15a8dc36f505ebcd75bbe699ca5b0cbb1a5 Mon Sep 17 00:00:00 2001 From: Vanessa Date: Fri, 17 Oct 2025 00:06:16 +0800 Subject: [PATCH] :art: https://github.com/siyuan-note/siyuan/issues/16121 6 --- app/src/layout/dock/Outline.ts | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/app/src/layout/dock/Outline.ts b/app/src/layout/dock/Outline.ts index 8b5684602..07c14b571 100644 --- a/app/src/layout/dock/Outline.ts +++ b/app/src/layout/dock/Outline.ts @@ -673,11 +673,11 @@ export class Outline extends Model { */ private setFilter() { // 还原 display - this.element.querySelectorAll("li.b3-list-item").forEach((item: HTMLElement) => { + this.element.querySelectorAll('li.b3-list-item[style$="display: none;"]').forEach((item: HTMLElement) => { item.style.display = ""; }); this.element.querySelectorAll("ul.fn__none").forEach((item) => { - item.classList.remove("fn__none"); + item.previousElementSibling.querySelector(".b3-list-item__toggle").classList.remove("fn__hidden"); }); const keyword = (this.headerElement.querySelector("input.b3-text-field.search__label") as HTMLInputElement).value.toLowerCase(); if (keyword) { @@ -685,7 +685,6 @@ export class Outline extends Model { if (!this.preFilterExpandIds) { this.preFilterExpandIds = this.tree.getExpandIds(); } - const processUL = (ul: Element) => { let hasMatch = false; let hasChildMatch = false; @@ -708,13 +707,13 @@ export class Outline extends Model { if (nextUlElement) { nextUlElement.classList.remove("fn__none"); if (childResult.hasMatch || childResult.hasChildMatch) { - // 子项也有命中,保持展开状态,但隐藏未命中的子项由子级处理 + // 子项也有命中 arrowElement.classList.add("b3-list-item__arrow--open"); nextUlElement.classList.remove("fn__none"); } else { - // 子项无命中,折叠所有子项但保持可展开 + // 子项无命中,折叠所有子项 arrowElement.classList.remove("b3-list-item__arrow--open"); - // 折叠但不完全隐藏,保持子项可访问性 + arrowElement.parentElement.classList.add("fn__hidden"); nextUlElement.classList.add("fn__none"); } }