多选和取消选择
主要使用js的indexOf( )方法
html代码 :
<view class="tab">
<view class="tab-li" :class="choose.indexOf(tab) != -1 ? 'active' : ''" @click="choose(tab,index)" v-for="(tab,index) in tabList" :key="index">{{tab}}</view>
</view>
js代码 :
expoprt default{
data(){
return{
tabList:[
'item1','item2','item3','item4','item5','item6',
],
choose:[]
}
},
methods:{
choose(tab.index){
//多选
if(this.choose.indexOf(tab) == -1){
this.choose.push(tab);
}else{
// 选择去重/删除同样的元素
this.choose.splice(this.choose.indexOf(tab),1)
}
console.log('finalData',this.choose)
}
}
}
css代码 :
.tab{
width:100%;
height:auto;
display:flex;
}
.tab-li{
width:25%;
height:60px;
line-height:60px;
text-align:center;
border:1px solid #ddd;
border-radius:10px;
}
.active{
border:1px solid #ff0000;
color:#ff0000;
}