+
-
+
))}
{showEtcOption && (
@@ -528,12 +528,12 @@ const MultiCheck = ({
const selectedValues = makeNumArr(String(roofInfo[column as keyof SurveyDetailInfo] ?? ''))
/** 다중 선택 처리 */
- const handleCheckbox = (id: number) => {
+ const handleCheckbox = (item: { id: number; code: string | null; name: string }) => {
const isOtherSelected = Boolean(etcValue)
let newValue: string[]
- if (selectedValues.includes(String(id))) {
- newValue = selectedValues.filter((v) => v !== String(id))
+ if (selectedValues.includes(item.code ?? String(item.id))) {
+ newValue = selectedValues.filter((v) => v !== item.code && v !== String(item.id))
} else {
/** 지붕 재료 처리 - 최대 2개 선택 처리 */
if (isRoofMaterial) {
@@ -543,7 +543,7 @@ const MultiCheck = ({
return
}
}
- newValue = [...selectedValues, String(id)]
+ newValue = [...selectedValues, item.code ?? String(item.id)]
}
setRoofInfo({ ...roofInfo, [column]: newValue.join(',') })
}
@@ -586,9 +586,9 @@ const MultiCheck = ({
handleCheckbox(item.id)}
+ onChange={() => handleCheckbox(item)}
/>