ElementUI el-table表格组件 树形数据不对齐的解决方案

ElementPlus的el-table组件在展示树状数据时,左侧的展开小箭头在部分情况下会导致第一列数据的起始位置不对齐,通过添加一段css即可解决。
本文演示环境为:Vue3.0 + Element-Plus 1.0.2-beta.55

先看没有经过修改的ElementUI el-table组件的默认效果,效果图如下:
默认效果

再来看看经过本文方法修改后的el-table组件的效果,如下图所示:
修改后效果

只需要添加一段css即可完成如上图所示的效果:

1
2
3
4
5
6
7
8
<style lang="less" scoped>
// 对齐根节点 无论有无子节点
::v-deep(.el-table__row:not([class*='el-table__row--level-'])) {
td:first-child {
padding-left: 24px;
}
}
</style>

已测试通过,在多级树形数据的情况下(我测试到了四级树形结构数据)没有异常情况。
但由于ElementPlus版本更迭情况,不保证后续不会出现问题,有问题可以评论告知。

需要注意的是,需要使用::v-deep()样式穿透来覆盖element-ui内部样式。
由于我这里使用的是Vue3.0 + ElementPlus环境,v-deep需要根据你的环境来修改,如Vue2中的/deep/等。

此外,若想全局生效,可以在没有scoped修饰符的全局样式表文件中添加该代码即可。

最后附上多级数据的情况,如下图所示:

修改后多级数据