锐客网

Vue-处理\n无法换行的问题

问题描述 在开发Vue的组件时,总会遇到大段文本的组件,此时,如果该大段文本作为参数时,那么文本的换行符(\n)却无法正常换行,而是被替换为空格。

Vue-处理\n无法换行的问题
文章图片
解决方法 我们可以利用 css 样式中的 white-space,把文本区域的样式设置为: white-space: pre-line; , 就可以很方便的解决。
注意不要使用 white-space: pre-wrap; ,该样式会把前后空格也保留了,会出现对齐异常。
【Vue-处理\n无法换行的问题】
Vue-处理\n无法换行的问题
文章图片
拓展知识 white-space 可配置的值如下:

  • normal
    连续的空白符会被合并,换行符会被当作空白符来处理。换行在填充「行框盒子(line boxes)」时是必要。
  • nowrap
    和 normal 一样,连续的空白符会被合并。但文本内的换行无效。
  • pre
    连续的空白符会被保留。在遇到换行符或者
    元素时才会换行。
  • pre-wrap
    连续的空白符会被保留。在遇到换行符或者
    元素,或者需要为了填充「行框盒子(line boxes)」时才会换行。
  • pre-line
    连续的空白符会被合并。在遇到换行符或者
    元素,或者需要为了填充「行框盒子(line boxes)」时会换行。
  • break-spaces
    与 pre-wrap的行为相同,除了:
    任何保留的空白序列总是占用空间,包括在行尾。
    每个保留的空格字符后都存在换行机会,包括空格字符之间。
    这样保留的空间占用空间而不会挂起,从而影响盒子的固有尺寸(最小内容大小和最大内容大小)。