element-ui中el-table点击其他自定义按钮展开table中某一行

14 篇文章 1 订阅
7 篇文章 0 订阅

element-ui中el-table点击其他自定义按钮展开table中某一行

在日常开发中,我们遇见了会有点击某些按钮,使得表格行展开的需求,这时候去查看文档
element-ui(table)
在这里插入图片描述
这里官方提供了示例为在行最左侧有一个展开合并icon,但是点其他地方不能展开,我们又想点其他地方而展开
在这里插入图片描述
我们看见是在table-column上定了type为expand,而该列里面的自定义模板便是展开后显示的内容
我们想要实现点击自定义功能,继续查阅文档:
在这里插入图片描述
这里的expand-row-keys文档解释说可以设置当前已展开的行,那么我们可以给table绑定这个属性,在点击方法里面进行绑定的值,而进行控制展开与否:
在这里插入图片描述
给想要点击的div上绑定click方法,并控制expands数组
在这里插入图片描述
此外,也需要给table绑定上row-key,因为这里会用row-key来对哪行展开进行控制

在这里插入图片描述
可以进行控制了后,我们发现前面的icon太丑了,不符合ui草图
在这里插入图片描述
我们粗暴点,先把icon隐藏掉
在这里插入图片描述
然后给这一列宽设置为1(设置为0我试过,在不同分辨率的屏幕会不一样)

在这里插入图片描述

然后这样就能完美实现了
在这里插入图片描述

Element UI,要展开`el-table`表格,你可以使用`expand-row-keys`属性来控制展开。首先,你需要在表格的数据添加一个属性用于标识是否展开,比如命名为`expanded`。然后,在`el-table`组件上添加`expand-row-keys`属性,并将其绑定到一个数组,用于存储展开的唯一标识。最后,在表格的列配置,使用`scoped-slot`来自定义展开的内容。 下面是一个示例代码: ```html <template> <el-table :data="tableData" :expand-row-keys="expandedRows" @expand-change="handleExpandChange" > <!-- 自定义展开内容 --> <template v-slot="{ row }"> <el-form :inline="true"> <el-form-item label="姓名"> {{ row.name }} </el-form-item> <el-form-item label="年龄"> {{ row.age }} </el-form-item> <!-- 其他表单项 --> </el-form> </template> <!-- 表格列配置 --> <el-table-column prop="name" label="姓名"></el-table-column> <el-table-column prop="age" label="年龄"></el-table-column> <!-- 其他列配置 --> </el-table> </template> <script> export default { data() { return { tableData: [ { name: '张三', age: 18, expanded: false }, { name: '李四', age: 20, expanded: false }, // 其他数据 ], expandedRows: [] // 存储展开的唯一标识 }; }, methods: { handleExpandChange(row, expanded) { // 当展开变化时更新expandedRows数组 if (expanded) { this.expandedRows.push(row); // 将展开添加到数组 } else { const index = this.expandedRows.findIndex(item => item === row); if (index > -1) { this.expandedRows.splice(index, 1); // 从数组移除收起的 } } } } }; </script> ``` 这是一个基本的示例,你可以根据你的实际需求自定义展开内容和其他列配置。请注意,你需要根据实际情况修改表格数据和列配置的属性名。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

茂茂睡不醒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值