报错原因分析:赋值的类型错误

前端在遍历时通过判断条件为数据添加属性时报错,在重新查看代码时发现为遍历语句错误。

for (let item in list) {}
for (let item of list) {}

二者的不同之处在于,前者在遍历数组时若数组下存在属性,则会对属性也进行遍历操作,故报赋值的类型错误问题。

详细代码如下:
handelData(data) {
	selectDeclarePlan(data.map(item => { return item.guid })).then(res => {
		if (res.code === 1) {
			this.loading = false;
			let monthData = res.data;
			for (let yearItem of data) {
				// 是否存在申报计划
				if (monthData.filter(item => item.planYearGuid === yearItem.guid).size != 0) {
					yearItem.tip = '此年度计划已存在申报计划';
				}
		} else {
			this.loading = false;
			this.$message.error(res.message);
		}
	}).catch(error => {
		this.loading = false;
		this.$message.error(error);
	})
},
Logo

基于 Vue 的企业级 UI 组件库和中后台系统解决方案,为数万开发者服务。

更多推荐