首页
Preview

vue3实现多选标签(包括反选)

页面代码

 <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)
}

这样子就实现了多选和反选标签了。

版权声明:本文内容由TeHub注册用户自发贡献,版权归原作者所有,TeHub社区不拥有其著作权,亦不承担相应法律责任。 如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

点赞(0)
收藏(0)
夏天的猫
一个人的生命是应该这样度过的:当他回首往事的时候,不因虚度年华而悔恨,也不因碌碌无为而羞耻。

评论(0)

添加评论