写毕设的时候本来想用标签多选来进行筛选内容,可能查的关键词不太对没怎么看到关于标签多选的代码。研究了半个小时终于写出来了,结果第二天发现这个功能用不上,遂纪念一下以防万一以后碰到相似需要还要重新思考。
数据代码
const tap = [
{ name: "小说", state: false },
{ name: "漫画", state: false },
{ name: "课本", state: false },
{ name: "只看同校", state: false },
{ name: "其他", state: false }
];
//点击选择后的标签组
const [checkTap, setCheck] = useState<Array<string>>([]);
逻辑代码:
当时写的时候刚入门react,现在知道useReducer的存在可能要更方便一些,但是没有时间修改了就当存个思路了
const check = (e: TagInfo) => {
let arr = checkTap;
if (arr.includes(e.name)) {
arr.splice(arr.indexOf(e.name), 1);
} else {
arr.push(e.name);
}
setCheck(arr);
};