Skip to content

Commit 738a40e

Browse files
committed
feat: 태그 선택 기능 추가
1 parent 6412cf0 commit 738a40e

File tree

1 file changed

+21
-1
lines changed

1 file changed

+21
-1
lines changed

src/components/SelectTag/SelectTag.tsx

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
1+
import { useState } from "react";
2+
13
import styles from "@/components/SelectTag/SelectTag.module.scss";
24
import Button from "@/components/ui/Button/Button";
35
import Tag from "@/components/ui/Tag/Tag";
46
import Text from "@/components/ui/Text/Text";
57

8+
// 임시 데이터
69
const TAG_LIST = [
710
"음식이 맛있어요",
811
"양이 많아요",
@@ -18,6 +21,18 @@ const TAG_LIST = [
1821
];
1922

2023
const SelectTag = () => {
24+
const [selectedTagList, setSelectedTagList] = useState<string[]>([]);
25+
26+
const handleTagClick = (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => {
27+
const tag = e.currentTarget.textContent || "";
28+
29+
if (selectedTagList.includes(tag)) {
30+
setSelectedTagList(selectedTagList.filter((selectedTag) => selectedTag !== tag));
31+
} else {
32+
setSelectedTagList([...selectedTagList, tag]);
33+
}
34+
};
35+
2136
return (
2237
<div className={styles.SelectTag}>
2338
<div className={styles.Top}>
@@ -31,7 +46,12 @@ const SelectTag = () => {
3146
</div>
3247
<div className={styles.TagList}>
3348
{TAG_LIST.map((tag) => (
34-
<Tag text={tag} key={tag} />
49+
<Tag
50+
text={tag}
51+
key={tag}
52+
onClick={handleTagClick}
53+
isSelect={selectedTagList.includes(tag)}
54+
/>
3555
))}
3656
<Tag variant="add" />
3757
</div>

0 commit comments

Comments
 (0)