这是我自己封存的简单的应试技巧,平日一般会用,简单但是写起来麻烦的小玩意
全选全不选
computed: {
allChecked: {
// arr 为渲染页面所用的数组
// checked 单项数据中多选框的布尔值
set(val) {
arr.forEach((item) => (item.checked = val));
},
get() {
// 如果arr不是组件内数据,分支判断这里需使用JSON.parse(JSON.stringify(arr))来进行转化
if (arr == "") {
return false;
} else {
return (
arr.filter((item) => item.checked).length ==
arr.length
);
}
},
},
},
计算总价
computed: {
calcTotal: function () {
// arr为渲染页面所用的数组
// stock 数组内对象的数据,通常为单个的价格
// num 数组内对象的数据,通常为单项的数量
let total = 0;
for (let key in arr) {
let p = arr[key];
if (p.checked) {
total += p.stock * p.num;
}
}
return total;
},
},