fix(knowledge): 切视图或检索时清掉批量选中,别搬走看不见的条目
CI / backend (push) Canceled after 0s

This commit is contained in:
Steven
2026-11-07 01:57:22 +08:00
parent 28eab4ae5f
commit 4b7627d70e
+9 -1
View File
@@ -263,6 +263,8 @@ export function KnowledgePage() {
setHits(null); setHits(null);
return; return;
} }
// 检索结果是一组切片,和列表里的条目不是同一批东西,选中态在这里没有意义
cancelSelect();
setSearching(true); setSearching(true);
setError(null); setError(null);
try { try {
@@ -397,6 +399,7 @@ export function KnowledgePage() {
selected={catFilter} selected={catFilter}
loading={loading} loading={loading}
onSelect={(value) => { onSelect={(value) => {
cancelSelect();
setCatFilter(value); setCatFilter(value);
setTagFilter(null); setTagFilter(null);
setHits(null); setHits(null);
@@ -404,6 +407,7 @@ export function KnowledgePage() {
tags={tags} tags={tags}
tagSelected={tagFilter} tagSelected={tagFilter}
onSelectTag={(name) => { onSelectTag={(name) => {
cancelSelect();
setTagFilter((prev) => (prev === name ? null : name)); setTagFilter((prev) => (prev === name ? null : name));
setHits(null); setHits(null);
}} }}
@@ -420,7 +424,11 @@ export function KnowledgePage() {
return ( return (
<button <button
key={t.key} key={t.key}
onClick={() => setTab(t.key)} onClick={() => {
// 切视图后列表换了,旧选中项可能已经不在眼前,别让人搬走看不见的东西
cancelSelect();
setTab(t.key);
}}
className={`rounded-lg px-2.5 py-1.5 text-sm font-medium transition-colors ${ className={`rounded-lg px-2.5 py-1.5 text-sm font-medium transition-colors ${
active active
? "bg-white text-ink-900 shadow-sm ring-1 ring-line-200" ? "bg-white text-ink-900 shadow-sm ring-1 ring-line-200"