欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

vue项目中模拟多选框选中效果

程序员文章站 2022-07-13 23:03:02
...

点击选中再次点击取消选中,并且不影响其他选项的选中效果。

1、在data中创建 selectArr : [ ] 数组 “selectColor”是选中后的文字样式

<li v-for="(item,index) in reasons" :key="index">

    <div @click="selectReason(item,index)" :class="selectArr .indexOf(index) != -1?'selectColor':''">

         <img v-if="selectArr .indexOf(index) != -1" src="checked.png" alt="">

         <img v-else src="check.png" alt="">

         {{ item }}

    </div>

</li>

2、使用selectArr 查询数据reasons的索引是否存在,如果不存在添加在selectArr数组中,如果已经存在了就说明当前选项是已经被选中了,就从数组中删去。因此就达到了变成取消选中的效果了。

selectReason(item,index){

    let indexItem = this.selectArr .indexOf(index);

    if( indexItem == -1 ){

          this.selectArr .push(index);

     }else{

         this.selectArr .splice(indexItem,1);

    }

}
相关标签: vue 复选框