From e4b25e2648f46256efd1141926d5fceec4595aaa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EB=B3=B4=EA=B3=A4?= Date: Fri, 13 Feb 2026 21:23:54 +0900 Subject: [PATCH] =?UTF-8?q?fix(WEB):=20=EB=A7=A4=EC=B6=9C=EA=B4=80?= =?UTF-8?q?=EB=A6=AC=20=ED=8E=98=EC=9D=B4=EC=A7=80=20=EB=A0=8C=EB=8D=94?= =?UTF-8?q?=EB=A7=81=20=ED=81=AC=EB=9E=98=EC=8B=9C=20=EC=88=98=EC=A0=95=20?= =?UTF-8?q?(BUG-SALES-20260213-001)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - SalesManagement: vendorOptions에 빈 문자열 필터링 추가 (.filter(Boolean)) - 원인: API 데이터에 vendorName: "" 레코드 존재 → Radix UI Select.Item value="" 에러 - IntegratedListTemplateV2: SelectItem value="" 방어 코드 추가 - 모든 페이지에서 빈 value SelectItem 크래시 방지 Co-Authored-By: Claude Opus 4.6 --- src/components/accounting/SalesManagement/index.tsx | 2 +- src/components/templates/IntegratedListTemplateV2.tsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/accounting/SalesManagement/index.tsx b/src/components/accounting/SalesManagement/index.tsx index cc0cea1c..a03a8371 100644 --- a/src/components/accounting/SalesManagement/index.tsx +++ b/src/components/accounting/SalesManagement/index.tsx @@ -129,7 +129,7 @@ export function SalesManagement({ initialData, initialPagination }: SalesManagem // ===== 거래처 목록 (필터용) ===== const vendorOptions = useMemo(() => { - const uniqueVendors = [...new Set(salesData.map(d => d.vendorName))]; + const uniqueVendors = [...new Set(salesData.map(d => d.vendorName))].filter(Boolean); return uniqueVendors.map(v => ({ value: v, label: v })); }, [salesData]); diff --git a/src/components/templates/IntegratedListTemplateV2.tsx b/src/components/templates/IntegratedListTemplateV2.tsx index b1583718..63e6932f 100644 --- a/src/components/templates/IntegratedListTemplateV2.tsx +++ b/src/components/templates/IntegratedListTemplateV2.tsx @@ -496,7 +496,7 @@ export function IntegratedListTemplateV2({ {field.allOptionLabel || '전체'} - {field.options.map((option) => ( + {field.options.filter(opt => opt.value !== '').map((option) => ( {option.label}