解决element-ui table expend扩展里边需要请求表格数据第一次不渲染的问题(之前的不好用,已更新新方法)
Posted on 2020-07-23 11:44 凡凡0410 阅读(2141) 评论(0) 编辑 收藏 举报原因:通过打印,发现,直接使用expend的 @expand-change 事件的时候,展开之后,才会进行表格数据的请求,这是导致数据不能够进行正常渲染的原因
<el-table :data="bussinessLists" class="m-r-t-10"
:expand-row-keys="expands" @expand-change="expandChangeFn"> <el-table-column type="expand" >
<template slot-scope="{row}">
{{detailInfo[row.id]}}
</template>
</el-table-column> </el-table>
:expand-row-keys:展开的行的key值得集合
@expand-change 展开或者关闭的事件
关键:手动的添加展开的列的id集合,使用$set对数据进行强制刷新,在更新列表的时候,对detailInfo进行清空,
data(){
return {
expands:[], //展开行的key的集合
detailInfo:{}
}
},
methods:{
expandChangeFn(row,expandedRows){ if (this.expands.includes(row.id)) {
//已经展开的话,就关闭,移除在expands中的key this.expands = this.expands.filter(val => val !== row.id); } else { this.getDetailFn(row.id).then(()=>{
this.$set(this.detailInfo,id,this.detailInfo[id]);
this.expands.push(row.id);
});
};
},
//异步请求接口
async getDetailFn(id){
let res = await xxxxx({id:id});
this.detailInfo[id] = res.data;
}
}
完美方式 :
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通