Gentle0503 2023-02-12 16:37 采纳率: 64.7%
浏览 13
已结题

Vue,修改v-for 中list的 item 一个属性 但是失败,没有渲染出来

页面代码:

但是奇怪的是 我点击按钮 进行全选操作时,选择框并没勾上,哪里有问题?

img

<el-checkbox v-for="item in itemList" :label="item.name" :key="item.id" :disabled="item.disabled" :checked="item.checked">{{ item.name }}
 </el-checkbox>

JS代码:

 handleCheckedAllItem() {
      this.checkAll = !this.checkAll
      console.log(this.checkAll)
      for(let index=0;index<this.itemList.length;index++){
        let temp= this.itemList[index];
        temp.checked = this.checkAll
        this.itemList.splice(index, 1, temp); //替换数组中这个元素
      }
      console.log(this.itemList.length)
      console.log(this.itemList)
    }
  • 写回答

2条回答 默认 最新

  • Gentle0503 2023-02-12 17:41
    关注

    结帖:

    首先 没有按照官网那样来的,就是双向绑定的问题 v-for 不能检测到item 中数据的变化,需要用splice 进行替换元素, 说白了就是进栈出栈的问题,这样就行了,如果还是不行 那就像我一样 没有将元素写入group 的 v-model 中 ,注意绑定的v-for 元素的label

     for(let index=0;index<this.itemList.length;index++){
            let temp= this.itemList[index];
            temp.checked = this.checkAll
            this.itemList.splice(index, 1, temp); //替换数组中这个元素
            this.checkList.push(temp.name) //不能丢!!!!!!!!!!!
          }
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 2月20日
  • 已采纳回答 2月12日
  • 创建了问题 2月12日

悬赏问题

  • ¥15 这种微信登录授权 谁可以做啊
  • ¥15 请问我该如何添加自己的数据去运行蚁群算法代码
  • ¥20 用HslCommunication 连接欧姆龙 plc有时会连接失败。报异常为“未知错误”
  • ¥15 网络设备配置与管理这个该怎么弄
  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来