页面代码
<div class="table-hs-d" v-for="(item, index) in chooseList" :key="index">
<div
class="m-code
@click="selectTag(item.number)"
>
<span>{{ item.number }}</span>
<div class="mask" :class="{ 'mask-show': isTags(item.number) }">
<van-icon class="sele-icon" color="#023b95" name="checked" />
</div>
</div>
</div>
JavaScript代码
const selectedNums = ref([])
const selectTag = (tag) => {
//如果 isTags(tag) 返回 true,则表示这个标签已经被选择,那么它会从 selectedNums.value 数组中移除该标签,否则,它会将该标签添加到数组中。
if (isTags(tag)) {
selectedNums.value = selectedNums.value.filter((t) => t !== tag)
} else {
selectedNums.value.push(tag)
}
}
//检查标签是否已经被选择
const isTags = (tag) => {
return selectedNums.value.includes(tag)
}
这样子就实现了多选和反选标签了。
评论(0)