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
}
})
也許這也會對其他人有所幫助。
添加回答
舉報