feat: 테이블 리스트에서 카테고리 다중 값 배지 표시 지원
문제: - 테이블에서 'CATEGORY_218152,CATEGORY_205381' 같은 다중 값이 - 배지로 표시되지 않고 코드값 그대로 보임 원인: - formatCellValue의 카테고리 렌더링이 단일 값만 처리 - 콤마로 구분된 다중 값 파싱 로직 없음 해결: 1. 콤마 구분자 감지 및 값 배열로 분리 2. 단일 값: 기존 로직 유지 (단일 배지) 3. 다중 값: flex-wrap gap-1로 여러 배지 렌더링 4. 각 배지는 매핑된 라벨과 색상 사용 결과: ✅ 다중선택 저장된 데이터가 테이블에서 여러 배지로 표시됨 ✅ 각 배지에 올바른 색상과 라벨 적용 ✅ 단일 값도 기존처럼 정상 작동
This commit is contained in:
@@ -207,14 +207,39 @@ const SelectBasicComponent: React.FC<SelectBasicComponentProps> = ({
|
||||
// 외부 value prop 변경 시 selectedValue 업데이트
|
||||
useEffect(() => {
|
||||
const newValue = externalValue || config?.value || "";
|
||||
// 값이 실제로 다른 경우에만 업데이트 (빈 문자열도 유효한 값으로 처리)
|
||||
if (newValue !== selectedValue) {
|
||||
setSelectedValue(newValue);
|
||||
|
||||
// 다중선택 모드인 경우 selectedValues도 업데이트
|
||||
if (isMultiple && typeof newValue === "string" && newValue) {
|
||||
|
||||
console.log("🔍 [SelectBasic] 외부 값 변경 감지:", {
|
||||
componentId: component.id,
|
||||
columnName: (component as any).columnName,
|
||||
isMultiple,
|
||||
newValue,
|
||||
selectedValue,
|
||||
selectedValues,
|
||||
externalValue,
|
||||
"config.value": config?.value,
|
||||
});
|
||||
|
||||
// 다중선택 모드인 경우
|
||||
if (isMultiple) {
|
||||
if (typeof newValue === "string" && newValue) {
|
||||
const values = newValue.split(",").map(v => v.trim()).filter(v => v);
|
||||
setSelectedValues(values);
|
||||
const currentValuesStr = selectedValues.join(",");
|
||||
|
||||
if (newValue !== currentValuesStr) {
|
||||
console.log("✅ [SelectBasic] 다중선택 값 업데이트:", {
|
||||
from: selectedValues,
|
||||
to: values,
|
||||
});
|
||||
setSelectedValues(values);
|
||||
}
|
||||
} else if (!newValue && selectedValues.length > 0) {
|
||||
console.log("✅ [SelectBasic] 다중선택 값 초기화");
|
||||
setSelectedValues([]);
|
||||
}
|
||||
} else {
|
||||
// 단일선택 모드인 경우
|
||||
if (newValue !== selectedValue) {
|
||||
setSelectedValue(newValue);
|
||||
}
|
||||
}
|
||||
}, [externalValue, config?.value, isMultiple]);
|
||||
|
||||
Reference in New Issue
Block a user