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

关于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;})}

相关文章:

  • ​​电商系统用户需求报告(示例)
  • Java基础复习(JavaSE进阶)第六章 IO流体系
  • 语音合成(TTS)从零搭建一个完整的TTS系统-第二节-中文转拼音
  • 【Python Web开发】01-Socket网络编程01
  • 【Python爬虫基础篇】--3.cookie和session
  • 乐视系列玩机---乐视1s x500 x501 x502等系列线刷救砖以及刷写第三方twrp 卡刷第三方固件步骤解析
  • 现有一整型数组,a[8] = { 4,8,7,0,3,5,9,1},现使用堆排序的方式原地对该数组进行升序排列。那么在进行第一轮排序结束之后,数组的顺序为?
  • 【HTML】【Web开发】滑动条挑战
  • Docker的基本概念和一些运用场景
  • Linux[基础指令][2]
  • Vue3 + Vite + TS,使用 ExcelJS导出excel文档,生成水印,添加背景水印,dom转图片,插入图片,全部代码
  • Java中的方法重写(Override)与方法重载(Overload)详解
  • 位运算练习:起床困难综合征(贪心,位运算)(算法竞赛进阶指南学习笔记)
  • 关于ubuntu密码正确但是无法登录的情况
  • 互联网大厂Java面试:从基础到进阶的技术点探讨
  • 短信验证码安全实战:三网API+多语言适配开发指南
  • C语言学习记录(17)编译和链接
  • vue3 + element-plus中el-drawer抽屉滚动条回到顶部
  • Scenario Dreamer:用于生成驾驶模拟环境的矢量化潜扩散模型
  • 【Linux禁用历史命令】
  • 福建一改造项目1人高处坠亡且事故迟报41天,住建厅约谈相关责任单位
  • 男粉丝咬伤女主播嘴后写的条子引争议:赔偿“十万元”还是“十5元”?
  • 青岛:今年计划新增城镇住房约5.77万套,推动房地产市场回稳
  • 神二十具备执行发射任务的各项条件
  • 西安雁塔区委书记王征拟任市领导班子副职,曾从浙江跨省调任陕西
  • 隽逸不凡——北京画院藏近代篆刻家金城花鸟画赏析