diff --git a/frontend/src/pages/WorkflowPage.tsx b/frontend/src/pages/WorkflowPage.tsx index 44c55a8..0c22b86 100644 --- a/frontend/src/pages/WorkflowPage.tsx +++ b/frontend/src/pages/WorkflowPage.tsx @@ -97,7 +97,8 @@ interface UserDropdownProps { function UserDropdown({ users, selectedIds, label, onToggle, onToggleAll, onClear, getUserName }: UserDropdownProps) { const [open, setOpen] = useState(false); - const allSelected = selectedIds.length === users.length && users.length > 0; + const ids = Array.isArray(selectedIds) ? selectedIds : []; + const allSelected = ids.length === users.length && users.length > 0; return (
@@ -112,20 +113,20 @@ function UserDropdown({ users, selectedIds, label, onToggle, onToggleAll, onClea }`} > - {selectedIds.length === 0 + {ids.length === 0 ? `${label} * 请选择` - : selectedIds.length === 1 - ? getUserName(selectedIds[0]) - : `${label} (${selectedIds.length}人)` + : ids.length === 1 + ? getUserName(ids[0]) + : `${label} (${ids.length}人)` } {/* Selected tags */} - {selectedIds.length > 1 && ( + {ids.length > 1 && (
- {selectedIds.map((uid) => ( + {ids.map((uid) => ( { try { const p = JSON.parse(s.approver_ids as string); return Array.isArray(p) ? p : []; } catch { return []; } })() : []), })) ); } else {