解决 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表头添加必填*星号

element-ui 中表格嵌套表单 如何给table表头添加必填*星号

解决element-ui table expend扩展里边需要请求表格数据第一次不渲染的问题