自定义Element-UI Table展开行expand图标

①Table展开行

在这里插入图片描述
使用方法是:

<el-table-column type="expand">
<template></template>
</el-table-column>`

主要功能:展开点击行或者特定行,在模板中定义展开行内容。
如果需要展开特定的行需要在<el-talbe中使用row-key跟expand-row-keys:

 <el-table
      :row-key="getRowKey"
      :expand-row-keys="expands">

其中getRowkey是返回值为特定行key的方法,expands是data中定义的空数组用于存储展开行的key数据。

②自定义展开图标

在这里插入图片描述
★可以看到这个展开行图标.el-icon-arrow-right的图标定义是 content:"\E6E0" 代表右箭头,点击后旋转90度变为下箭头。
★如果我改为"\E6E1" 他就会变为上箭头。然后点击后旋转180度依旧会变为下箭头。

在样式中定义:

.el-table__expand-column .cell {
        .el-table__expand-icon--expanded{ // 这是点击后的旋转角度
           transform: rotate(180deg);
          }
       .el-table__expand-icon{
         .el-icon-arrow-right:before { // 这是展开图标
            content: "\E6E1";
          }
     }
 }

一个是旋转角度,一个是icon图标。
就这么简单。

————————————————————————————

👉推荐!!!【腾讯云】爆款2核4G云服务器首年74元/年
👉推荐!!!【腾讯云】1核2G5M轻量应用服务器50元/年
【腾讯云】云数据库低至9.9/年!MySQL7.4元/月
【阿里云】ECS云服务器特惠
【阿里云】服务器首购优惠
如果文章对您有帮助,扫个红包码呗

红包码

Element UI的表格组件中,当使用`expand`属性来展开某一列并显示详细内容时,有时可能会遇到所有字段都会跟着一起展开的问题。这是因为默认情况下,表格的`row-class-name`或`expanded-row-key`特性可能导致了所有展开与折叠同步。 解决这个问题,你可以采取以下几个步骤: 1. **避免全局展开效果**:如果你只想让特定列可以展开,而不是整个表格,确保你在设置`expanded-columns`时只包含需要展开的那一列。 ```html <el-table :data="tableData" :expanded-columns="['expandColumnKey']"> ... </el-table> ``` 2. **指定每个的唯一键**:通过`expanded-row-key`属性,为每个展开项提供一个唯一的标识符,这将允许独立控制每个条目的展开状态。 ```html <el-table :data="tableData" :expanded-row-key="(row) => row.id"> ... </el-table> ``` 3. **自定义渲染函数**:如果你想更精细地控制展开部分的为,可以使用`render`属性创建一个自定义模板,并在其中处理展开和折叠事件,仅针对当前展开操作。 ```javascript <template slot-scope="{ row, $index }"> <span v-if="!isExpanded($index)"> ... </span> <div v-else> <!-- 展开内容 --> </div> </template> <script> export default { methods: { isExpanded(index) { return this.expandedRows.includes(this.tableData[index].id); } }, computed: { expandedRows() { // 返回已展开的id列表 return Object.keys(this.$store.state.expandedRows).map(key => Number(key)); } } } </script> ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值