分享一个vue应用:实现自定义多选按钮。
返回的选中列表是一个数组
html部分
<!-- 自定义多选 --> <div class="list" v-for="(item,index) in arr" :key="index" :class="item.ischeck==true?'active':''" @click="sel(index,item)">{{item.val}}</div>
js部分
//data arr:[ { val:1, ischeck:false }, { val:2, ischeck:false }, { val:3, ischeck:false }, { val:4, ischeck:false }, { val:5, ischeck:false }, { val:6, ischeck:false } ], selarr:[], //methods sel(index,item){ let arr=[...this.arr]; let selarr=[...this.selarr]; if(arr[index].ischeck==false){ arr[index].ischeck=true; selarr.push(item) }else{ arr[index].ischeck=false; var index11=selarr.indexOf(index) selarr.splice(index11,1) } this.arr=arr; this.selarr=selarr; },
样式
.list{ width: 100%; line-height: 30px; } .list.active{ background: pink; }
大家试试吧。
网友评论文明上网理性发言 已有0人参与
发表评论: