Merge branch 'iipbs/common/main' into iipbs/sn/ii

This commit is contained in:
swcho
2025-07-07 19:49:02 +09:00
@@ -1,3 +1,5 @@
// selectBox
import { Label } from "@common/components";
import React from "react";
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "./lib/selectBox";
@@ -21,15 +23,17 @@ const SelectBox = React.forwardRef<
readOnly?: boolean // readOnly 속성 추가
}
>(({ label, className, selectClass, selectArray, onSelectValue, value, readOnly = false }, ref)=>{
// 첫 번째 항목을 placeholder로 사용하고 드롭다운 목록에서는 제외
const firstItem = selectArray[0];
const placeHolder = firstItem?.text ?? "";
// hidden이 true인 첫 번째 항목을 placeholder로 사용
const hiddenItem = selectArray.find(item => item.hidden);
const placeHolder = hiddenItem?.text ?? "선택";
// 첫 번째 항목(placeholder)을 제외한 나머지 항목만 드롭다운에 표시
const visibleItems = selectArray.filter((_, index) => index !== 0);
// hidden이 true인 항목만 드롭다운에서 제외
const visibleItems = selectArray.filter(item => !item.hidden);
// 현재 값이 첫 번째 항목(placeholder)인 경우 undefined로 설정하여 placeholder가 표시되도록 함
const currentValue = value !== undefined && String(value) === String(firstItem?.val)
// 현재 값이 hidden 항목이거나 빈 값인 경우 undefined로 설정하여 placeholder가 표시되도록 함
const currentValue = value !== undefined &&
hiddenItem &&
(String(value) === String(hiddenItem.val) || value === "" || value === "0" || value === 0)
? undefined
: (value !== undefined ? String(value) : undefined);