el-table表格的展开行,初始化的时候展开哪一行+设置点击行可展开功能

server/2025/1/16 0:03:56/

效果:

表格展开行官网使用:

通过设置 type="expand" 和 Scoped slot 可以开启展开行功能,el-table-column 的模板会被渲染成为展开行的内容,展开行可访问的属性与使用自定义列模板时的 Scoped slot 相同。

但是这种方法是有局限性,只是点击箭头展开,点击行没反应,这里做优化点击行也可以进行展开。

关键点(以下属性和事件缺一不可):

:row-key="getRowKeys"

:expand-row-keys="expands"

@row-click="clickRowHandle"

需要默认展开行只需要在expands存入需要展开行的id就可以了

html

        <el-table :data="tableData":row-key="getRowKeys":expand-row-keys="expands"@row-click="clickRowHandle"border><el-table-column type="expand"><template slot-scope="scope"><div class="expand-txt"><span>编号:</span> {{ scope.row.code }}</div><div class="expand-txt"><span>批次:</span> {{  scope.row.batch }}</div><div class="expand-txt"><span>名称:</span> {{  scope.row.name }}</div><div class="expand-txt"><span>规格:</span> {{  scope.row.specifications }}</div><div class="expand-txt"><span>参数:</span> {{  scope.row.parameter }}</div></template></el-table-column><el-table-column prop="code"label="编号" width="120px"></el-table-column><el-table-column prop="batch"label="批次"></el-table-column><el-table-column prop="name"label="姓名"></el-table-column><el-table-column prop="specifications"label="规格"></el-table-column><el-table-column prop="parameter"label="参数"></el-table-column></el-table>

script:

javascript"><script>
export default {data () {return {tableData: [{id: 1,code: '2016-05-01',batch: 1,name: '王小虎',specifications: 'A',parameter: '上海市普陀区金沙江路 1518 弄'}, {id: 2,code: '2016-05-02',batch: 1,name: '王小虎',specifications: 'A',parameter: '上海市普陀区金沙江路 1517 弄'}, {id: 3,code: '2016-05-03',batch: 1,name: '王小虎',specifications: 'A',parameter: '上海市普陀区金沙江路 1519 弄'}, {id: 4,code: '2016-05-04',batch: 1,name: '王小虎',specifications: 'A',parameter: '上海市普陀区金沙江路 1516 弄'}],// 获取row的key值getRowKeys (row) {// console.log(row);return row.id;},expands: [],}},components: {},mounted () {// 在初始化的时候展开第一行都可以了this.expands.push(this.tableData[0].id);},methods: {clickRowHandle (row) { // , column, event// console.log(row, column, event);if (this.expands.includes(row.id)) {this.expands = this.expands.filter(val => val !== row.id)console.log(1, this.expands);} else {this.expands.push(row.id)console.log(2, this.expands);}}}
}
</script>


http://www.ppmy.cn/server/117520.html

相关文章

MyBatis中多对一关系的三种处理方法

目录 MyBatis中多对一关系的三种处理方法 1.通过级联属性赋值 1&#xff09;mapper 2&#xff09;mapper.xml 3&#xff09;测试代码 4&#xff09;测试结果 2.通过标签 1&#xff09;mapper 2&#xff09;mapper.xml 3&#xff09;测试代码 4&#xff09;测试结果 3.分步查询 …

PPT技巧:如何在幻灯片中生成目录?

PPT文件如何制作目录&#xff0c;如何点击目录标题立即跳转到相应幻灯片&#xff1f;今天小奥超人和大家一起来学习一下。 现在幻灯片里制作好目录页&#xff0c;制作好目录之后&#xff0c;选中一个目录&#xff0c;点击插入 – 链接 在插入链接界面中&#xff0c;选择【本文…

一个用于翻译 CSV 文件的 Python 脚本,适用于将英文内容批量翻译成中文(或其他语言),并解决文件编码导致的中文乱码和无法翻译的问题。

将CSV文件中的英文批量翻译成中文的 Python 脚本 一个用于翻译 CSV 文件的 Python 脚本&#xff0c;适用于将英文内容批量翻译成中文&#xff08;或其他语言&#xff09;&#xff0c;并解决文件编码导致的中文乱码和无法翻译的问题。 主要功能&#xff1a; 文件编码转换&…

pycharm调试知识, 线程进程与深度学习

pycharm调试&#xff0c; 在调试&#xff08;debugging&#xff09;过程中&#xff0c;Step Over 是一个常见的操作&#xff0c;用来控制代码的执行方式。它的意思是让调试器执行当前行的代码&#xff0c;但是如果这行代码中有函数调用&#xff0c;调试器不会进入该函数的内部…

【自动化测试】自动化测试的价值和误区以及如何高效实用地落地自动化测试

引言 自动化并不仅仅是机器“点点点”的操作。虽然从表面上看&#xff0c;自动化测试确实涉及到了机器按照预设的脚本进行一系列的操作&#xff0c;但它的内涵远比这要丰富得多 高效实用地落地自动化测试&#xff0c;需要从策略规划、工具选择、团队协作、持续改进等多个方面进…

如何将镜像推送到docker hub

前言 这一篇应该是最近最后一篇关于docker的博客了&#xff0c;咱来个有始有终&#xff0c;将最后一步——上传镜像给他写完&#xff0c;废话不多说&#xff0c;直接进入正题。 登录 首先需要确保登录才能推送到你的仓库中去&#xff0c;在终端输入docker login,输入用户名和…

idea激活页面怎么打开

打开Help------选择Register 然后就可以选择激活方式了

【干货分享】Ftrans安全数据交换系统 搭建跨网数据传输通道

安全数据交换系统是一种专门设计用于在不同的网络、系统或组织之间安全地传输数据的软件或硬件解决方案。这种系统通常包含多种安全特性&#xff0c;以确保数据在传输过程中的保密性、完整性和可用性。 安全数据交换系统可以解决哪些问题&#xff1f; 安全数据交换系统主要解…