vue中(input组件)textarea文本提交到后端数据库,前端输出保存换行回车及修改显示

发布时间 2023-06-02 16:37:39作者: 阿宇爱吃鱼

1.修改css中white-space属性为“pre-warp”

在css中white-space属性用来控制容器的文本中带有空白符、制表符、换行符等的显示,取值有:

  • normal:默认,忽略文本中所有的空白、换行符;只有文本存在 <br> 或文本达到框的约束时,文本才会换行
  • nowrap:和normal类似,忽略文本中所有的空白、换行符;遇到框的宽度约束时不会自动换行,文本只有在有 br 时才会换行
  • pre:保留文本中的空白、换行符;遇到框的宽度约束时不会自动换行,文本存在 <br> 或文本中有换行符时,文本才会换行
  • pre-wrap:和pre类似,保留文本中的空白、换行符;文本存在 <br> 或文本中有换行符时,或者遇到框的宽度约束时,文本都才会换行
  • pre-line:会略文本中的空白符;文本存在 <br> 或文本中有换行符时,或者遇到框的宽度约束时,文本都才会换行

 参考:https://blog.csdn.net/liuxiao723846/article/details/118994673

2. 换行

提交前先正则过滤: (此处content为textarea输入值)

  var content = this.content.replace(/\r\n/g, '<br/>').replace(/\n/g, '<br/>').replace(/\s/g, '&nbsp;'); 

展示的时候用 v-html 渲染就可以:(此处content为从后端获取的值)

  <p v-html="content"></p> 

用textarea标签+v-html命令,有时候只能识别空格,无法识别<br/>, 用富文本编辑器可以解决这个问题(实现类似textarea标签可修改的效果也能识别<br/>)。富文本编辑有很多种,用vue的一个插件:vue-quill-editor

3.空格

  • replace(/ /g, ' &nbsp')