Vue+ElementUI技巧分享:el-table 中实现灵活的文本换行
<template>
<el-table :data="tableData" style="width: 100%">
<el-table-column prop="date" label="日期" width="180"></el-table-column>
<el-table-column prop="name" label="姓名" width="180">
<template slot-scope="scope">
<div :title="scope.row.name">
{{ scope.row.name | textOverflow }}
</div>
</template>
</el-table-column>
<!-- 其他列 -->
</el-table>
</template>
<script>
export default {
data() {
return {
tableData: [
{ date: '2016-05-02', name: '王小虎1234567890' },
{ date: '2016-05-04', name: '张小刚' },
// 其他数据
]
};
},
filters: {
textOverflow(value) {
if (value && value.length > 5) {
return value.slice(0, 5) + '...';
}
return value;
}
}
};
</script>
这个例子中,我们使用了el-table-column
的template
插槽来自定义列的内容。通过div
元素的title
属性,当文本内容过长时,鼠标悬停时会显示完整的文本内容。同时,我们使用了Vue的过滤器textOverflow
来确保只显示文本的前五个字符,并添加了省略号,以便表示后面还有更多的文本。这样的实现方式既保证了内容的完整性,又在表格中提供了良好的用户体验。
评论已关闭