一、问题描述
我今天遇到一个需求,我打开一个弹窗后,弹窗中加载Table。当打开弹窗,需要自动全选table。但是当我请求好数据后,立马去执行全选代码,却报错了:toggleRowSelection undefined.
二、原因
表格放在 dialog 之类的弹出框里面,vue 组件和表格的渲染顺序问题,代码执行的时候页面渲染还未完成。;
三、解决方式
在外层加个 $nextTick 即可;
// 打开弹窗时,请求table数据
getTableData() {
tableData().then(response => {
this.data= response.data.list;
this.$nextTick(() => {
this.data.forEach(row => {
// multipleTable :弹窗中table 写上 ref="multipleTable "
this.$refs.multipleTable.toggleRowSelection(row);
});
});
});
},