2 回答
TA贡献1757条经验 获得超8个赞
当您尝试推送到空数组时,您无法推送到指定的键,因为它不存在。
因此,当您声明tags = []然后尝试推送tags[key].push(value)标签时,[key] 未定义,因此推送方法不可用
相反,您可以更改 onSubmit 方法,如下所示
onSubmit() {
Object.keys(this.$refs).forEach((value) => {
const refs = this.$refs[value];
if (Array.isArray(refs)) {
for (let i = 0; i <= this.$refs[value].length; i++) {
let key = this.$refs[value][i].$attrs['data-tag']
this.tags[key] = this.radio
}
} else {
let key = this.$refs[value].$attrs['data-tag']
this.tags[key] = this.textfield
}
})
}
TA贡献1817条经验 获得超6个赞
我这样做了:
Object.keys(this.$refs).forEach((value) => {
const refs = this.$refs[value];
if (Array.isArray(refs)) {
for (let i = 0; i < refs.length; i++) {
let key = refs[i].$attrs['data-tag']
if (refs[i].isActive === true) {
this.tags[key] = this.radio
}
else {
this.tags[key] = ''
}
}
} else {
let key = refs.$attrs['data-tag']
this.tags[key] = this.textfield
}
})
也许这也会对其他人有所帮助。
添加回答
举报