Vue数据更新问题

阅读 2.2k
4 个回答
created() {
    this.goodsParamList.forEach((item) => {
      this.$set(item, 'selectedIndex', 0)
    })
},

再不行

上面的,再加下面的

methods: {
    changeSpec(index, specIndex, item) {
      this.$set(this.goodsParamList[index], 'selectedIndex', specIndex);
      this.forceUpdate();
    },
  }
 methods: {
    changeSpec(index, specIndex, item) {
        const curItem = this.goodsParamList[index];
        curItem.selectedIndex = specIndex;
        
        this.$set(this.goodsParamList, index, curItem);
        // 或 this.goodsParamList.splice(index, 1, curItem);
    },
  }

没在data中预定义的变量没有响应式,页面不会同步刷新,可以使用vue.$set方法;

也可以使用vue.forceUpdate()强制刷新;

新手上路,请多包涵

用Vue.$set()
图片描述

推荐问题