通过css实现表头超过两行显示省略号。
通过render-header实现鼠标悬浮显示tooltip。
代码如下:
<template>
<div>
<el-table :data="tableData" border style="width: 100%">
<el-table-column
prop="date"
label="用于展示多条结构类似的数据,可对数据进行排序、筛选、对比或其他自定义操作。用于展示多条结构类似的数据,可对数据进行排序、筛选、对比或其他自定义操作。用于展示多条结构类似的数据,可对数据进行排序、筛选、对比或其他自定义操作。"
width="180"
:render-header="renderHeader"
>
</el-table-column>
<el-table-column prop="name" label="姓名" width="180"> </el-table-column>
<el-table-column prop="address" label="地址"> </el-table-column>
</el-table>
</div>
</template>
<script>
export default {
data() {
return {
tableData: [
{
date: "2016-05-02",
name: "王小虎",
address: "上海市普陀区金沙江路 1518 弄",
},
{
date: "2016-05-04",
name: "王小虎",
address: "上海市普陀区金沙江路 1517 弄",
},
{
date: "2016-05-01",
name: "王小虎",
address: "上海市普陀区金沙江路 1519 弄",
},
{
date: "2016-05-03",
name: "王小虎",
address: "上海市普陀区金沙江路 1516 弄",
},
],
};
},
mounted() {},
methods: {
// 列标题 Label 区域渲染使用的 Function
renderHeader(h, { column, $index }) {
console.log(h, column, $index);
const label = column.label;
return [
h(
"el-tooltip",
{
props: {
content: (function() {
return label;
})(),
placement: "top",
},
},
[h("span", {}, label)]
),
];
},
},
};
</script>
<style lang="scss" scoped>
// 设置显示两行,超出省略
/deep/ .el-table th > .cell {
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
color: red;
}
</style>