解决 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 属性知识说明

定义和用法:whiteSpace 属性设置如何处理文本中的空白符(比如空格和换行符)。
语法:Object.style.whiteSpace=normal|nowrap|pre

描述
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>

猜你喜欢

转载自blog.csdn.net/ZYS10000/article/details/118144197