vue antd table嵌套表格 左侧展开图标动态控制显示隐藏

本文主要是介绍vue antd table嵌套表格 左侧展开图标动态控制显示隐藏,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

antd a-table想要实现如以下效果,有子级就显示展开图标,没有就不显示图标:

话不多说,直接上代码:

<template><a-table :columns="columns" :data-source="dataSource"><template #bodyCell="{ column }"><template v-if="column.key === 'operation'"><a>Publish</a></template></template><template #expandIcon="{ expanded, onExpand, record }"><button @click="(e) => onExpand(record, e)" v-if="record && record.more.length":class="`ant-table-row-expand-icon ${expanded ? 'ant-table-row-expand-icon-expanded' : 'ant-table-row-expand-icon-collapsed'}`"></button></template><template #expandedRowRender="{ record }"><a-table :columns="innerColumns" :data-source="record.more" :pagination="false"><template #bodyCell="{ column }"><template v-if="column.key === 'state'"><span><a-badge status="success" />Finished</span></template></template></a-table></template></a-table>
</template>
<script setup>const columns = [{ title: 'Name', dataIndex: 'name', key: 'name' },{ title: 'Version', dataIndex: 'version', key: 'version' },{ title: 'Upgraded', dataIndex: 'upgradeNum', key: 'upgradeNum' },{ title: 'Date', dataIndex: 'createdAt', key: 'createdAt' },{ title: 'Action', key: 'operation' },
];const dataSource = [{key: 0,name: "Screem 1",version: "10.3.4.5654",upgradeNum: 500,createdAt: "2014-12-24 23:12:00",more: [{key: 6,date: "2014-12-24 23:12:00",name: "This is production name 1",upgradeNum: "Upgraded: 56"}, {key: 7,date: "2014-12-24 23:12:00",name: "This is production name 2",upgradeNum: "Upgraded: 56"}, {key: 8,date: "2014-12-24 23:12:00",name: "This is production name 3",upgradeNum: "Upgraded: 56"}]
}, {key: 1,name: "Screem 2",version: "10.3.4.5654",upgradeNum: 700,createdAt: "2014-12-24 23:12:00",more: []
}, {key: 2,name: "Screem 3",version: "10.3.4.5654",upgradeNum: 300,createdAt: "2014-12-24 23:12:00",more: [{key: 9,date: "2014-12-24 23:12:00",name: "This is production name 1",upgradeNum: "Upgraded: 56"}]
}];const innerColumns = [{ title: 'Date', dataIndex: 'date', key: 'date' },{ title: 'Name', dataIndex: 'name', key: 'name' },{ title: 'Upgrade Status', dataIndex: 'upgradeNum', key: 'upgradeNum' },
];</script>

关键在于#expandIcon设置自定义图标,效果跟默认的效果一毛一样。

要注意:

我使用的是antd4,所以图标的类名是

ant-table-row-expand-icon-expanded、ant-table-row-expand-icon-collapsed。

大家如果用的版本不一样,可以控制台看下它默认渲染的图标类名是什么,直接复制过来替换掉就可以了,完美!

    <template #expandIcon="{ expanded, onExpand, record }"><button @click="(e) => onExpand(record, e)" v-if="record && record.more.length":class="`ant-table-row-expand-icon ${expanded ? 'ant-table-row-expand-icon-expanded' : 'ant-table-row-expand-icon-collapsed'}`"></button></template>

这篇关于vue antd table嵌套表格 左侧展开图标动态控制显示隐藏的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/810056

相关文章

苹果macOS 26 Tahoe主题功能大升级:可定制图标/高亮文本/文件夹颜色

《苹果macOS26Tahoe主题功能大升级:可定制图标/高亮文本/文件夹颜色》在整体系统设计方面,macOS26采用了全新的玻璃质感视觉风格,应用于Dock栏、应用图标以及桌面小部件等多个界面... 科技媒体 MACRumors 昨日(6 月 13 日)发布博文,报道称在 macOS 26 Tahoe 中

全面解析HTML5中Checkbox标签

《全面解析HTML5中Checkbox标签》Checkbox是HTML5中非常重要的表单元素之一,通过合理使用其属性和样式自定义方法,可以为用户提供丰富多样的交互体验,这篇文章给大家介绍HTML5中C... 在html5中,Checkbox(复选框)是一种常用的表单元素,允许用户在一组选项中选择多个项目。本

HTML5 搜索框Search Box详解

《HTML5搜索框SearchBox详解》HTML5的搜索框是一个强大的工具,能够有效提升用户体验,通过结合自动补全功能和适当的样式,可以创建出既美观又实用的搜索界面,这篇文章给大家介绍HTML5... html5 搜索框(Search Box)详解搜索框是一个用于输入查询内容的控件,通常用于网站或应用程

Python实现精准提取 PDF中的文本,表格与图片

《Python实现精准提取PDF中的文本,表格与图片》在实际的系统开发中,处理PDF文件不仅限于读取整页文本,还有提取文档中的表格数据,图片或特定区域的内容,下面我们来看看如何使用Python实... 目录安装 python 库提取 PDF 文本内容:获取整页文本与指定区域内容获取页面上的所有文本内容获取

CSS3中的字体及相关属性详解

《CSS3中的字体及相关属性详解》:本文主要介绍了CSS3中的字体及相关属性,详细内容请阅读本文,希望能对你有所帮助... 字体网页字体的三个来源:用户机器上安装的字体,放心使用。保存在第三方网站上的字体,例如Typekit和Google,可以link标签链接到你的页面上。保存在你自己Web服务器上的字

html 滚动条滚动过快会留下边框线的解决方案

《html滚动条滚动过快会留下边框线的解决方案》:本文主要介绍了html滚动条滚动过快会留下边框线的解决方案,解决方法很简单,详细内容请阅读本文,希望能对你有所帮助... 滚动条滚动过快时,会留下边框线但其实大部分时候是这样的,没有多出边框线的滚动条滚动过快时留下边框线的问题通常与滚动条样式和滚动行

RedisTemplate默认序列化方式显示中文乱码的解决

《RedisTemplate默认序列化方式显示中文乱码的解决》本文主要介绍了SpringDataRedis默认使用JdkSerializationRedisSerializer导致数据乱码,文中通过示... 目录1. 问题原因2. 解决方案3. 配置类示例4. 配置说明5. 使用示例6. 验证存储结果7.

MyBatis编写嵌套子查询的动态SQL实践详解

《MyBatis编写嵌套子查询的动态SQL实践详解》在Java生态中,MyBatis作为一款优秀的ORM框架,广泛应用于数据库操作,本文将深入探讨如何在MyBatis中编写嵌套子查询的动态SQL,并结... 目录一、Myhttp://www.chinasem.cnBATis动态SQL的核心优势1. 灵活性与可

使用vscode搭建pywebview集成vue项目实践

《使用vscode搭建pywebview集成vue项目实践》:本文主要介绍使用vscode搭建pywebview集成vue项目实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录环境准备项目源码下载项目说明调试与生成可执行文件核心代码说明总结本节我们使用pythonpywebv

MySQL的ALTER TABLE命令的使用解读

《MySQL的ALTERTABLE命令的使用解读》:本文主要介绍MySQL的ALTERTABLE命令的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、查看所建表的编China编程码格式2、修改表的编码格式3、修改列队数据类型4、添加列5、修改列的位置5.1、把列