我们有时候会用到card来进行展示数据,但是数据又要进行批量操作,所以在循环的card数据下添加一个多选框能实现相应的功能满足需求。
1、卡片内添加多选框:
<el-checkbox
v-if="mutipleSelect"
v-model="selectionList"
:label="item.id"
@change="ids(item.id)"
>{
{ "" }}</el-checkbox
>
<!---------参数说明:
v-model 代表多选框中显示的状态,选中与非选中,一般绑定一个数组,数组中存在的值就是选中状态。
label 代表多选框中选中的值。
change 多选框改变事件,每次点击改变多选框都触发事件,绑定了一个ids方法。
(此方法做了一定的数据处理,在选中时将值加进来,取消选中时将值移出去)
-->
2、多选框的函数处理:
//获取数组中数值的下标
indexOf(val, ids) {
for (let i = 0; i < ids.length; i++) {
//获取当前值的下标
if (ids[i] === val) {
return i;
}
}
return -1;
},
//多选赋值ids