位置: IT常识 - 正文

使用 el-table 实现树形数据懒加载、点击行展开、每次只展示一条数据(大类)以及自定义表格合计值(el-table-column formatter)

编辑:rootadmin
使用 el-table 实现树形数据懒加载、点击行展开、每次只展示一条数据(大类)以及自定义表格合计值 1. 使用 el-table 实现树形数据懒加载实现必需条件:lazy:load=“loadNode”:tree-props=“{ children: ‘children’, hasChildren: ‘hasChildren’ }”

推荐整理分享使用 el-table 实现树形数据懒加载、点击行展开、每次只展示一条数据(大类)以及自定义表格合计值(el-table-column formatter),希望有所帮助,仅作参考,欢迎阅读内容。

使用 el-table 实现树形数据懒加载、点击行展开、每次只展示一条数据(大类)以及自定义表格合计值(el-table-column formatter)

文章相关热门搜索词:el-table key,el-table append,el-table-column formatter,el-table-column formatter,el-table-column scope,el-table-column scope,el-table-column formatter,el-table ref,内容如对您有帮助,希望把文章链接给更多的朋友!

注意:特别是第3条,后端接口必须传给你"hasChildren"(名字可以不一样),值为 true或false,如果是根节点值为true,子节点值为false,不然数据旁边的小三角不会显示,即不能获取子节点数据

实现代码如下:<el-tablelazy:load="loadNode":tree-props="{ children: 'children', hasChildren: 'hasChildren' }"// 点击小三角执行的方法const loadNode = (row: { [key: string]: any }, treeNode: any, resolve: any) => {if (row.level >= 1) {state.tableData.param.level = row.level + 1; //后端要求传参变化state.tableData.param.code = row.code;Query(state.tableData.param).then((response: Array<{ [key: string]: any }>) => {resolve(response);});}};>2. 点击行展开要求点击当前行也可以展开数据(之前是点击小三角才能展开)代码如下:// 使用点击事件@row-click="getOpenDetail"// 点击当前行展开节点const getOpenDetail = (row: any, column: any, e: any) => {if (e.currentTarget.firstElementChild.firstElementChild.firstElementChild.tagName == 'DIV') {e.currentTarget.firstElementChild.firstElementChild.firstElementChild.click();} else {e.currentTarget.firstElementChild.firstElementChild.firstElementChild.nextElementSibling.click();}};3. 每次只展示一条数据要求点击根节点时,其余根结点不展开,只展开当前根节点及其对应的子节点代码如下:// 需要用到以下代码,其中 code 为数据唯一标识,与 id 作用一样row-key="code":expand-row-keys="expands"@expand-change="expandSelect"// 每次只展开一行const expandSelect = (row: { [key: string]: any }, expanded: boolean) => {if (expanded) {expands.value = [];if (row) {expands.value.push(row.code, row.code.substring(0, 2), row.code.substring(0, 4), row.code.substring(0, 6)); // 每次push进去的是每行的code和父元素的code}} else {expands.value = []; // 默认不展开}};后台数据如下:

根节点数据为code前两位数,以后的子节点数据依次加两位数

4. 自定义表格合计值要求在表格的最后一行显示数据的合计值,因为是懒加载的数据,不能自动累加显示出合计值,前端需要自己赋值代码如下:show-summary:summary-method="getSummaries"// 自定义表尾合计行const getSummaries = (param: any) => {const { columns, data } = param;const sums: string[] = [];columns.forEach((column: any, index: number) => {switch (index) {case 0:sums[index] = '合 计';break;case 2:sums[index] = state.array.allDutyCost;// state.array.allDutyCos 为后端返回已经计算好的总数值break;case 3:sums[index] = state.array.allBudgetCost;break;case 4:sums[index] = state.array.allAdjustCost;break;default:sums[index] = '——';}});

文中有错误或不懂的地方,可以留言一起讨论!

本文链接地址:https://www.jiuchutong.com/zhishi/288777.html 转载请保留说明!

上一篇:浏览器无痕浏览还能查到记录吗,如何开启无痕模式(浏览器无痕浏览后警察能查到吗)

下一篇:IDEA如何运行SSM项目(超详细图解)(idea如何运行ssm项目spring)

  • 平台怎么搞
  • 仓库盘亏怎么处理
  • 银行询证函快递怎么查
  • 去年的成本如何调整汇算清缴额
  • 业务收入和营业收入关系
  • 其他收益怎么用
  • 盈余公积未分配利润
  • 一般纳税人普通发票免税吗
  • 现金账怎么记账图例
  • 一次性预收租金增值税
  • 搬迁到新租赁厂房的费用入什么科目?
  • 新车购置税怎么算的
  • 计提企业所得税怎么计算
  • 三栏式明细账适用于哪些账簿
  • 减少实收资本会引起资产和所有者权益发生变化吗
  • 代扣代缴个人所得税会计分录怎么做
  • 合伙企业缴纳税款时间
  • 分公司转总公司款分录
  • 营改增后一般纳税人动产租赁税率
  • 办公室零食知乎
  • 主营业务净利率和销售净利率一样吗
  • 预付账款如何计提折旧
  • 给外国教授发邮件最后一句
  • windows10如何设置桌面背景
  • 联想y400怎么装win10
  • linux如何查找命令
  • 公司运输车辆加油会计分录
  • 小规模开票运费怎么开
  • u启动pe装机工具怎么重装系统
  • php常用设计模式(大总结)
  • thinkphp uuid
  • avoid什么用法
  • 接受捐赠和对外捐赠分录
  • 职工福利费会计科目怎么写
  • 四川黄龙风景名胜区停车收费标准
  • 企业所得税合理方法包括
  • php读取json数组中指定内容
  • 淘宝买建材
  • web后端开发框架有哪些
  • phpcms 还有人用吗
  • php函数传值的引用是什么
  • 删除命令rm rf
  • 基于thinkphp开发的框架
  • wordpress文章主题
  • 资产减值损失如何计算
  • 稿费的个税是怎么算的
  • 利润表调整了资产负债表怎么调整
  • 其他债权投资有减值吗
  • 未达到起征点的增值税会计处理
  • 新成立企业多长时间可以销售小微企业
  • 小型微利企业企业所得税如何计算
  • 收政府的慰问金合法吗
  • 个人转租房屋需要交房产税吗
  • 开具红字发票如何做账?
  • 如何计算政府补贴应摊销
  • 收到招聘费发票怎么做账
  • 小规模纳税人从三万到十万
  • 企业坏账准备提取的方法和提取的比例由国家统一规定
  • 会计师事务所工作怎么样
  • 会计如何建账做账
  • sql企业管理器在哪里
  • 电脑上view是什么意思
  • linux内容查找
  • win7cpu虚拟化怎么看
  • ubuntu20录屏
  • linux igb
  • react native 应用
  • js中的函数
  • 全面了解自我,接纳和包容自我
  • python如何不换行
  • 场景转换的技巧
  • css div 不换行
  • node.js的理解
  • 用python编写
  • javascript简明教程
  • jquery audio
  • js中数组排序sort的用法
  • 税务局副科长工资
  • 什么是契税发票?
  • 抄报税怎么弄
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设