Peter20150926 2023-02-12 16:37 采纳率: 85.7%
浏览 21
已结题

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条回答 默认 最新

  • Peter20150926 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 CSS通配符清除内外边距为什么可以覆盖默认样式?
  • ¥15 SPSS分类模型实训题步骤
  • ¥15 求解决扩散模型代码问题
  • ¥15 工创大赛太阳能电动车项目零基础要学什么
  • ¥20 limma多组间分析最终p值只有一个
  • ¥15 nopCommerce开发问题
  • ¥15 torch.multiprocessing.spawn.ProcessExitedException: process 1 terminated with signal SIGKILL
  • ¥15 QuartusⅡ15.0编译项目后,output_files中的.jdi、.sld、.sof不更新怎么解决
  • ¥15 pycharm输出和导师的一样,但是标红
  • ¥15 想问问富文本拿到的html怎么转成docx的