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}