elementUI 表格多选框this.$refs.xxx.toggleRowSelection无效

参照大神建议

https://qingmuzhang.gitee.io/

原本代码

  for (let i = 0; i < OperList.length; i++) {
        this.$refs.multipleTable.toggleRowSelection(
                OperList[i],
                true
              )
      }

更新后代码(

 this.tableDataOper.find((item) => { return item.PATIENT_ID === row.PATIENT_ID })  这行必须是唯一性

     this.$nextTick(() => {
        if (this.tableDataOper.length > 0) {
          OperList.forEach((row) => {
            if (row !== null && row !== undefined) {
              this.$refs.multipleTable.toggleRowSelection(
               this.tableDataOper.find((item) => { return item.PATIENT_ID === row.PATIENT_ID }),
                true
              )
            }
          })
        }
      })

原因 

$nextTick 是在下次 DOM 更新循环结束之后执行延迟回调,在修改数据之后使用 $nextTick,则可以在回调中获取更新后的 DOM。
但这样任然无法正常显示
解决:这里通过从所有列表tableData中找到需要选中的项来帮助选中,直接使用选中列表来设置会出错

posted @ 2021-09-14 13:48  心中Where_True循环  阅读(1259)  评论(0编辑  收藏  举报