参照大神建议
原本代码
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中找到需要选中的项来帮助选中,直接使用选中列表来设置会出错