-
카테고리
-
세부 분야
풀스택
-
해결 여부
해결됨
섹션2 체크박스 필터 만들기#2 질문
20.05.07 16:09 작성 조회수 170
0
저는 강의랑 다르게 checkbox에 evntlistener을 달지않고 row에 이벤트 위임으로 달았습니다.
각각의 checkbox에 id로 Continent.value를 넣었습니다.
문제는 7번째 줄 else 부분에서 제 의도랑 다르게 동작하내요.
뭐가 잘못된걸까요??ㅠ
function CheckBox() {
const [checked, setChecked] = useState([]);
const funcCheck = (e) => {
if (e.target.checked) {
setChecked(checked.concat(e.target.id));
} else {
setChecked(checked.splice(checked.indexOf(e.target.id, 1)));
}
};
console.log(checked);
const renderCheckbox = () =>
Continents.map((v, i) => (
<Col span={8} key={i}>
<Checkbox id={v.value} key={i}>
{v.value}
</Checkbox>
</Col>
));
return (
<div>
<Collapse>
<Panel header="Continent">
<Row onClick={funcCheck}>{renderCheckbox()}</Row>
</Panel>
</Collapse>
</div>
);
}
답변을 작성해보세요.
0
0
John Ahn
지식공유자2020.05.07
Checkbox 하나하나의 고유 id를 가져야 컨트롤이 가능한데 Row는 모든 Checkbox를 포함하고 있는 애이기에 Row의 고유 id 는 갖을순있지만 checkbox의 고유의 id를 가질순 없습니다 ^^
답변 2