From 9c31de1e73056f2bebd18eb9da1bb507e4d03752 Mon Sep 17 00:00:00 2001 From: yml2213 Date: Fri, 23 Oct 2026 12:34:23 +0800 Subject: [PATCH] =?UTF-8?q?fix(douyu):=20=E5=88=87=E6=8D=A2=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E6=A0=87=E7=AD=BE/=E7=AD=9B=E9=80=89=E6=97=B6?= =?UTF-8?q?=E6=B8=85=E7=A9=BA=E5=8B=BE=E9=80=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/frontend/src/pages/DouyuCollabPage.tsx | 27 +++++++++++++--------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/web/frontend/src/pages/DouyuCollabPage.tsx b/web/frontend/src/pages/DouyuCollabPage.tsx index 2b539f3..90cfcfa 100644 --- a/web/frontend/src/pages/DouyuCollabPage.tsx +++ b/web/frontend/src/pages/DouyuCollabPage.tsx @@ -267,6 +267,12 @@ export default function DouyuCollabPage() { const [usernameExport, setUsernameExport] = useState(null); + // 切换标签/筛选后旧勾选可能已不在当前结果里,批量操作前必须清空,避免误改其他状态的单。 + const resetFilterState = useCallback(() => { + setPage(1); + setSelectedRowKeys([]); + }, []); + const loadOrders = useCallback(async (options?: { silent?: boolean }) => { const silent = options?.silent === true; if (!silent) setLoading(true); @@ -1310,7 +1316,7 @@ export default function DouyuCollabPage() { hoverable onClick={() => { setStatusFilter(item.key); - setPage(1); + resetFilterState(); }} style={cardStyle(statusFilter === item.key)} > @@ -1333,7 +1339,7 @@ export default function DouyuCollabPage() { hoverable onClick={() => { setCkFilter((previous) => (previous === 'invalid' ? '' : 'invalid')); - setPage(1); + resetFilterState(); }} style={cardStyle(ckFilter === 'invalid')} > @@ -1411,7 +1417,7 @@ export default function DouyuCollabPage() { clearLabel="全部" onChange={(value) => { setShopFilter(value); - setPage(1); + resetFilterState(); }} /> @@ -1424,7 +1430,7 @@ export default function DouyuCollabPage() { value={ownerFilter} onChange={(value) => { setOwnerFilter(value); - setPage(1); + resetFilterState(); }} options={owners.map((item) => ({ value: item.id, label: item.username }))} /> @@ -1435,7 +1441,7 @@ export default function DouyuCollabPage() { value={statusFilter || undefined} onChange={(value) => { setStatusFilter(value || ''); - setPage(1); + resetFilterState(); }} options={STATUS_ORDER.map((status) => ({ value: status, label: STATUS_META[status].label }))} /> @@ -1446,7 +1452,7 @@ export default function DouyuCollabPage() { value={ckFilter || undefined} onChange={(value) => { setCkFilter(value || ''); - setPage(1); + resetFilterState(); }} options={[ { value: 'valid', label: CK_META.valid.label }, @@ -1463,7 +1469,7 @@ export default function DouyuCollabPage() { value={giftFilter || undefined} onChange={(value) => { setGiftFilter(value || ''); - setPage(1); + resetFilterState(); }} options={gifts.map((item) => ({ value: item, label: item }))} /> @@ -1474,7 +1480,7 @@ export default function DouyuCollabPage() { value={keyword} onChange={(event) => { setKeyword(event.target.value); - setPage(1); + resetFilterState(); }} /> @@ -1484,7 +1490,7 @@ export default function DouyuCollabPage() { checked={includeVoid} onChange={(checked) => { setIncludeVoid(checked); - setPage(1); + resetFilterState(); }} /> @@ -1495,8 +1501,7 @@ export default function DouyuCollabPage() { checked={archiveScope === 'archived'} onChange={(checked) => { setArchiveScope(checked ? 'archived' : 'active'); - setSelectedRowKeys([]); - setPage(1); + resetFilterState(); }} /> {summary.archived_total}