别改我bug 2023-01-05 16:11 采纳率: 33.3%
浏览 44

关于this.$set更新视图问题

为什么使用this.$set(arr[0], id, 1)也无法更新视图,使用this.$set(arr, 0, { ...arr, id: 1 });这样才可以更新视图

  • 写回答

2条回答 默认 最新

  • heroboyluck 2023-01-05 16:51
    关注

    不知道你是vue 多少版本,我测试的是vue2 是可以的。首先你要确保你的arr[0]是有值的,且值为对象。

    测试代码

    <template>
      <div> 
         <div v-for="item in arr" :key="item.id">
          <span>{{item.name}}</span>
        </div>
        <button @click="handleChanage">change</button>
      </div>
     
    </template>
    
    <script>
    
    export default {
      data() {
        return {
          arr:[
            
          ]
        };
      },
      mounted(){
        this.arr = [
          {
            id:1,
            name:'admin'
          }
        ]
      },
      methods: {
       
        handleChanage(){
          this.$set(this.arr[0],'name','test')
          
        }
      },
    };
    </script>
    
          
    
    评论

报告相同问题?

问题事件

  • 创建了问题 1月5日

悬赏问题

  • ¥15 MSR2680-XS路由器频繁卡顿问题
  • ¥15 VB6可以成功读取的文件,用C#读不了
  • ¥15 如何使用micpyhon解析Modbus RTU返回指定站号的湿度值,并确保正确?
  • ¥15 C++ 句柄后台鼠标拖动如何实现
  • ¥15 有人会SIRIUS 5.8.0这个软件吗
  • ¥30 comsol仿真等离激元
  • ¥15 静电纺丝煅烧后如何得到柔性纤维
  • ¥15 (标签-react native|关键词-镜像源)
  • ¥100 照片生成3D人脸视频
  • ¥15 伪装视频时长问题修改MP4的时长问题,