Vue:将元素压入对象中的数组

问题描述 投票:1回答:1

我具有以下结构:

data: () => ({
  loadProgress: [{}]
})

loadProgress的示例结构

[{
  itemId: 1,
  details:[{}, {}, {}]
}, {
  itemId: 2,
  details: [{}, {}, {}, {}]
}]

我该如何this.loadProgress[index].details.push(...)实现反应性?

我用v-for渲染它,其中:keyitem.itemId

javascript vue.js nuxt
1个回答
1
投票

您可以使用vue $ set方法。默认情况下,vue不会在深层嵌套对象上进行更改,因此您应该像这样使用:

this.loadProgress[index].details.$set(index, val);
or
this.$set(this.loadProgress[index].details, index, val);
© www.soinside.com 2019 - 2024. All rights reserved.