💻 코드공방

인풋체크박스를 활용하여 필터링검색 구현하기

Cheri 2021. 7. 21. 08:00

이번주 배스킨라빈스 클론코딩 중 만나게 된 인풋 체크박스

체크된 값을 받아서 배열로 나열한 뒤 서버에 요청해야한다.

이 중에서 없음을 넣을 이유가 없어서, 없음 칸은 빼고 진행한다.

feature
const _allergy_list = [
        "계란",
        "대두",
        "돼지고기",
        "땅콩",
        "밀",
        "복숭아",
        "우유",
    ];

    const onClickHandler = target => {
        //알러지 선택취소의 경우
        if (allergy_list.includes(target)) {
            setAllergyList(allergy_list.filter(ele => ele !== target));
            return;
        }
        //불변성 유지
        return setAllergyList([...allergy_list, target]);
    };

 

 

view
<AllergyContainer>
	{_allergy_list.map((allergy, idx) => (
		<div>
			<input type="checkbox" onChange={() => {onClickHandler(allergy);}} key={idx}/>
			<span>{allergy}</span>
		</div>
	))}
</AllergyContainer>

 

 

😎😎😎 깔~끔하게 받아올 수 있었다 오예!