vue2+element 弹窗内嵌套eltable多选回显

该文章介绍了一种在Vue.js应用中结合setTimeout和v-loading指令来实现表格的懒加载效果。当回显数据时,会开启懒加载,通过遍历数据设置表格行的选中状态,并在延迟操作后关闭懒加载。同时,文章强调了在不同场景下正确设置loading状态的重要性。
摘要由CSDN通过智能技术生成

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值