需求描述:
点击【新增映射组】需要增加一个和第一个数据结构一样的卡片(值得长度保持一致),只有点一个卡片有新增按钮,点击【新增】需要给所有的卡片的值增加一条空的数据。
出现的问题:
我取到第一个数组的length后,使用new Array(length)但是发现push进了null.方第一个卡片的值没有填数据时,后面增加的卡片的值内容字段全给了null.如下图所示。
多增加一个判断方法:
Array.from(new Array(length), () => '')
最终写法方法如下:
addMapGroupComp() { // 新增映射组
const newRangePram = this.cycleInfo.mapGroup[0].range.length
this.cycleInfo.mapGroup.push({
var: '', // 循环变量元素
valueType: 'string', // 值类型
range: Array.from(new Array(newRangePram), () => '')// 值范围长度需要和第一个保持一致
})
},
总结:
Array.from的第一个参数指定了第二个参数运行的次数。这种特性可以让该方法的用法变得非常灵活。