当前位置: 首页 > ai >正文

关于el-table可展开行实现懒加载的方案

场景:

        一个流程记录,以表格的形式展示。点击展开表格的某一行,可以看到该流程的详细记录。但是,详细记录数据独立于表格数据,在还没有展开这一行的时候就不去请求这一行的详细数据,以便加快网络请求的速度。

思路:

        使用el-table组件,加一个属性列,设置type为expand。其中的内容绑定的数据为表格数据这一行的某个字段。

        在点击展开某一行的时候,发请求拿到这一行展开所需要的数据绑定在这一行的某个字段上,再次点击的时候判断这个字段是否有值,如果有值,则不再发送请求,以此减少请求次数。

  代码:

<el-table @expand-change="flyCodeExecuter" row-key="id" :data="flowNodes" style="width: 100%"><el-table-column type="expand"><template slot-scope="props"><!-- {{ props.row.id }} --><el-collapse v-model="activeNames" @change="handleChange" v-loading="checkListLoading"><el-collapse-item :title="outItem.name" name="1" v-for="(outItem, index) in props.row.resultList"><div v-for="inItem in outItem.children" style="margin: 15px 15px;"><div class="top" style="margin-bottom: 5px;"><span style="margin-right: 10px;">{{ inItem.item }}:</span><el-radio-group v-model="inItem.result"><el-radio label="1">通过</el-radio><el-radio label="0">不通过</el-radio></el-radio-group></div><div class="bottom"><el-input type="textarea" :rows="2" placeholder="请输入理由" v-model="inItem.discription"></el-input></div></div></el-collapse-item></el-collapse></template></el-table-column><el-table-column label="流程进度" prop="nodeName"></el-table-column><el-table-column label="审批时间" prop="approvalTime"></el-table-column><el-table-column label="处理结果" prop="approvalResult"></el-table-column><el-table-column label="审批意见" prop="approvalComment"></el-table-column></el-table>
flyCodeExecuter(row, expandedRows) {if(row.resultList){return;}this.checkListLoading=true;getApproveRecord(row.id).then(res => {row.resultList=res.data.checkResultList||'无值';this.checkListLoading=false;})}

http://www.xdnf.cn/news/1130.html

相关文章:

  • 网易云IP属地可以查看城市吗?深度解析与使用指南
  • [创业之路-380]:企业法务 - 企业经营中,企业为什么会虚开増值税发票?哪些是虚开増值税发票的行为?示例?风险?
  • 使用 acme.sh 自动更新 SSL 证书的指南
  • 【Java面试笔记:基础】6.动态代理是基于什么原理?
  • el-popover实现下拉滚动刷新
  • C语言高频面试题——指针函数和函数指针的区别
  • 【Java面试笔记:基础】4.强引用、软引用、弱引用、幻象引用有什么区别?
  • 【c++深入系列】:万字string详解(附有sso优化版本的string模拟实现源码)
  • rpm命令详解
  • java的反编译命令
  • 小小矩阵设计
  • 重学React(一):描述UI
  • 【Python进阶】数据可视化:Matplotlib从入门到实战
  • 解码思维链:AI思维链如何重塑人类与机器的对话逻辑
  • 解决 MongoDB 查询中的 `InvalidMongoDbApiUsageException` 错误
  • 密码学货币混币器详解及python实现
  • ASP.Net Web Api如何更改URL
  • 【前端】【业务逻辑】【面试】 大数据表格的表单校验导致性能问题,如何优化?
  • 【Nova UI】七、SASS 全局变量体系:组件库样式开发的坚固基石
  • 【Unity MetaQuest】Unity6使用Meta all in one sdk打包安装到Quest2设备后,运行后闪退或者一直卡在3个点上解决办法
  • ViewBS 的工作流程
  • GitHub 常见高频问题与解决方案(实用手册)
  • 【质量管理】“武藏曲线”和“微笑曲线”的差异
  • 【第16届蓝桥杯C++C组】--- 2025图形
  • CentOS 6.9 安装 Zabbix 3.0 详细教程
  • uniapp Vue2升级到Vue3,并发布到微信小程序的快捷方法
  • CSS学习笔记
  • Ubuntu数据连接访问崩溃问题
  • 百度 Al 智能体心响 App 上线
  • \r在C语言中是什么意思(通俗易懂,附带实例)