HTML部分:
<el-checkbox-group
v-model="checkedCities"
:min="1"
:max="2"
@change="changeSelectCustomize()"
>
<template>
<el-col
:span="16"
style="display: flex;justify-content: space-between;border: 1px solid #ccc"
>
<div style="margin-right: 10px;">
<el-checkbox
style="margin-left: 10px;"
v-for="(cus) in basicInfo.customizeLabelList"
:label="cus.content"
:key="cus.content"
>
<div style="display: flex;justify-content: space-between;">
<div style="margin-left: 10px;">{{cus.content}}</div>
<div
@click.stop="deleteOneCustomize(cus)"
class="el-icon-delete"
title="删除"
></div>
</div>
</el-checkbox>
</div>
</el-col>
</template>
</el-checkbox-group>
js部分:
export default {
data() {
return {
//自定义指标列表
customizeList: {
name: "0",
content: "",
isChecked: "0"
},
checkedCities: [],
basicInfo: {
companyName: "",
address: "",
phone: "",
tel: "",
fax: "",
other: "",
bank: "",
isPrintPage: "0",
isShowPrintNo: "1",
isShowMoney: "1",
time: "",
customizeLabelList: []
},
},
methods: {
// 自定义表单名方法开始
//选择自定义指标
changeSelectCustomize() {
console.log(this.checkedCities);
console.log(this.basicInfo.customizeLabelList);
let id = 0;
for (var j = 0; j <= this.checkedCities.length; j++) {
console.log(this.checkedCities.length);
for (var i = 0; i <= this.basicInfo.customizeLabelList.length; i++) {
console.log(this.checkedCities[j]);
console.log(typeof this.checkedCities[j]);
// console.log(i,this.basicInfo.customizeLabelList[i])
// console.log(j,this.checkedCities[j].content)
if (
this.basicInfo.customizeLabelList[i].content ===
this.checkedCities[j]
) {
this.basicInfo.customizeLabelList[i].isChecked = "1";
this.basicInfo.companyName = this.checkedCities[j];
// this.$set(this.basicInfo.customizeLabelList[i], 'isChecked', '1');
console.log("==========");
console.log(this.basicInfo.customizeLabelList[i].isChecked);
} else if (
this.basicInfo.customizeLabelList[i] !== this.checkedCities[j]
) {
this.basicInfo.customizeLabelList[i].isChecked = '0';
// this.$set(this.basicInfo.customizeLabelList[i], 'isChecked', '0');
console.log("---------");
console.log(this.basicInfo.customizeLabelList[i].isChecked);
}
}
}
},
}
点击上方的多选框内容就会报下方的错误
解决方法:checkedCities问题,循环第二遍是找不到该变量显示undefined,找一个中间变量替换掉checkedCities,就不会报错了
let customizeLabelListNew = []; customizeLabelListNew = JSON.parse(JSON.stringify(this.checkedCities));
更多推荐
TypeError: Cannot read property 'content' of undefined的问题
发布评论