vue实现多选改变样式(自己写个小笔记)
欢迎使用Markdown编辑器
直接上代码
// 主要是绑定:class
<el-tag
:key="tag"
v-for="(tag, index) in selectTags"
@click="multipleSelect(tag, index)"
:class="{ multipleSelected: multipleList.indexOf(tag) != -1 }"
>
{{ tag }}
</el-tag>
//data
data() {
return {
selectTags: ['标签一', '标签二', '标签三'],
multipleList: [],
}
},
//methods
methods:{
multipleSelect(tag, index) {
// indexOf()方法 没有检索到时返回-1
console.log(this.multipleList.indexOf(tag))
if (this.multipleList.indexOf(tag) !== -1) {
this.multipleList.splice(this.multipleList.indexOf(tag), 1) //取消
} else {
this.multipleList.push(tag) //选中添加到数组里
}
// console.log(this.multipleList)
},
}
效果