setTimeout+v-loading
(回显部分)
<el-table :data="tableData1" ref="multipleTable" v-loading="loading">
<el-table-column
type="selection"
width="55">
<!--ref="multipleTable"和js部分的 this.$refs.multipleTable 命名一致。v-loading="loading"加入懒加载 -->
handlook(row){
this.loading=true//开启懒加载
this.typemap='详情'
this.tableData1= row.devices//内嵌表格赋值
this.form.name = row.name//输入框赋值
setTimeout(() => {
row.devices.forEach(item => { // tempIngData是存着两条选中数据的数组
let id = item.id; // 每条数据的URL,这里是举个例子,找个唯一的id也可
this.tableData1.forEach(imgItem => { // 选中数据所组成的数组
if (imgItem.id == id) {
this.$refs.multipleTable.toggleRowSelection(imgItem, true)// 将状态改为选中
}
})
})
this.loading=false//关闭懒加载
},1000)
this.disabled =true//禁用输入框
this.dialogVisible = true//关闭痰喘
},
懒加载部分:
data() {
return {
loading: true//默认打开弹窗时 懒加载开启
}
}
注:记得在所有打开此弹窗的方法中,设置loading状态。例如在新增时 this.loading=false。在编辑/详情等弹窗中需要回显的,设置this.loading=true,在延时结束前设置this.loading=flase