vue computed里进行get、set数组时,怎么让set可以执行?

 <div v-for="(url, index) in urls"
       :key="index">
      <a-input v-model="url.value"/>
</div>
 data() {
    return {
        test: ['111', '222', '333']
    }
},
computed: {
    urls: {
      get() {
          return this.test.map((item, index) => {
              return {
                  value: item
              }
          });
      },
      set(value) {
         this.test = value.map((a)=> {
              return a.value;
         })
      }
}

如上代码所示,urls通过get、set自动转换,但实际上输入框值改变时,并无法触发set方法,这里是简化实现,实际上test数组是个store数组,要怎么才能实现这种效果?

阅读 2.6k
1 个回答

computed 不支持 deep 的,你可以用 watch 来实现这个需求

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题