解决 Element-ui中 表格(Table)单元格内换行转义符不起作用的问题
Posted 明天也要努力
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决 Element-ui中 表格(Table)单元格内换行转义符不起作用的问题相关的知识,希望对你有一定的参考价值。
本文 Element-ui 版本 2.x
问题
如下所示,在 Element-ui 的表格组件中 \\n 换行转义符并没有起作用。
tableData: [
{ number: '20160503', name: '王小虎', address: '2016-05-03' + '\\n' + '武汉市江夏区文化大道'},
{ number: '20160504', name: '张小虎', address: '2019-05-04' + '\\n' + '武汉市洪山区洪山侧路'},
{ number: '20160501', name: '李小虎', address: '2020-05-01' + '\\n' + '南京市建邺区白龙江东街'},
{ number: '20160502', name: '宋小虎', address: '2021-05-02' + '\\n' + '南京市江宁区水阁路'},
]
原因
通过查找属性,发现官方把 .cell 的 white-space 属性值设置成 normal 了。
white-space 设置如何处理元素内的空白
值 | 描述 |
---|---|
normal | 默认。空白会被浏览器忽略 |
pre | 空白会被浏览器保留。其行为方式类似 html 中的 < pre > 标签。 |
nowrap | 文本不会换行,文本会在在同一行上继续,直到遇到 < br > 标签为止。 |
pre-wrap | 保留空白符序列,但是正常地进行换行。 |
pre-line | 合并空白符序列,但是保留换行符。 |
inherit | 规定应该从父元素继承 white-space 属性的值。 |
解决
把 .cell 的 white-space 属性值,通过样式穿透设置成 pre-line 就可以了。
完整代码
<template>
<div class="home">
<el-table :data="tableData" border style="width: 80%">
<el-table-column align="center" prop="number" label="编号" width="180"></el-table-column>
<el-table-column align="center" prop="name" label="姓名" width="180"></el-table-column>
<el-table-column align="center" prop="address" label="地址"></el-table-column>
</el-table>
</div>
</template>
<script>
export default {
data() {
return {
tableData: [
{ number: '20160503', name: '王小虎', address: '2016-05-03' + '\\n' + '武汉市江夏区文化大道'},
{ number: '20160504', name: '张小虎', address: '2019-05-04' + '\\n' + '武汉市洪山区洪山侧路'},
{ number: '20160501', name: '李小虎', address: '2020-05-01' + '\\n' + '南京市建邺区白龙江东街'},
{ number: '20160502', name: '宋小虎', address: '2021-05-02' + '\\n' + '南京市江宁区水阁路'},
]
}
}
}
</script>
<style lang="stylus" scoped>
.home{
::v-deep .el-table{
.cell {
white-space: pre-line;
}
}
}
</style>
以上是关于解决 Element-ui中 表格(Table)单元格内换行转义符不起作用的问题的主要内容,如果未能解决你的问题,请参考以下文章
解决 Element-ui中 表格(Table)单元格内换行转义符不起作用的问题
Element-ui中 表格(Table)组件中 toggleRowSelection 方法设置默认多选项 无法选中解决思路
解决element-ui中table表格row-style改变当前行样式失效问题
element-ui 中表格嵌套表单 如何给table表头添加必填*星号