vue文本识别"\\n"换行问题的解决方式
作者:D_jing20 发布时间:2024-05-09 10:51:43
标签:文本识别,\n,换行
在 vue 项目,有时请求返回的数据 中会有含有 \n 的字符串,如果直接渲染的话无法实现换行。
一、通过 css属性 实现
设置 white-space: pre-wrap; 代码如下:
<div style="white-space: pre-wrap;">{{含有\n的字符串}}</div>
扩展:
white-space属性值:
值 | 描述 |
---|---|
normal | 默认。空白会被浏览器忽略。 |
pre | 空白会被浏览器保留。其行为方式类似 HTML 中的 <pre> 标签。 |
nowrap | 文本不会换行,文本会在在同一行上继续,直到遇到 <br> 标签为止。 |
pre-wrap | 保留空白符序列,但是正常地进行换行。 |
pre-line | 合并空白符序列,但是保留换行符。 |
inherit | 规定应该从父元素继承 white-space 属性的值。 |
二、使用v-html实现
首先,将字符串里的 \n 替换为 <br>,然后用 v-html 指令渲染字符串为 innerHTML 。 代码如下:
// JS部分
this.text = res.data.replace(/\n/g,'<br>')
// HTML部分
<div v-html="text"></div>
三、<pre>标签
pre 元素可定义预格式化的文本。被包围在 pre 元素中的文本通常会保留空格和换行符。代码如下:
<pre>{{含有\n的字符串}}</pre>
注意:在选择<pre>标签时,如果文字太长的行可能会撑开固定宽度的容器或者超出容器范围。解决方法:
pre {
//方法一:保留空白符序列,但是正常地进行换行。
white-space: pre-wrap;
//方法二:添加横向滚动条
overflow-x: auto;
}
最后,虽然三种方法都可以实现,但本人比较推荐前两种。
附实践模块,温馨提示 基于vant改造
效果图: 并且点击黄色部分会进行伸缩
html部分
<div>
<!-- 文字较长时,通过禁用 scrollable 属性关闭滚动播放 -->
<van-notice-bar
v-if="deptTip"
background="#FFFBE8"
:scrollable="false"
wrapable
>
<div @click="showAllFn" v-cloak id="showAllclamp2" :class="[showAll?'':'clamp2']">
<van-icon style="float: left;line-height: 24px;padding-right: 7px;" name="volume-o" ></van-icon>
<div id="deptTip" v-html="deptTip"></div>
</div>
<template v-slot:right-icon>
<van-icon style="position: absolute;right: 5px;bottom: 10px;" :name="icon" ></van-icon>
</template>
</van-notice-bar>
</div>
css部分
.clamp2{
overflow: hidden;text-overflow: ellipsis;display: -webkit-box;-webkit-line-clamp: 2; -webkit-box-orient: vertical;
}
js 部分
隐藏和展示的时候
showAllFn(){
this.showAll=!this.showAll
this.showAll?this.deptTip=this.deptTip.replace(/\n/g,'<br>'):this.deptTip=this.deptTip2
}
来源:https://blog.csdn.net/u012320487/article/details/126702839


猜你喜欢
- 简单介绍Mac下使用HomeBrew安装Python 3.*版本并设置为默认值1、首先查看Mac自带的python,可以看到是2.7.10的
- 基于python代码的3D地图可视化,供大家参考,具体内容如下介绍使用Python对地图进行3D可视化。以地图为地图,可以在三维空间对轨迹、
- 一、环境准备python3.6.7Pycharm二、创建项目我这里是在Django项目中新建了个APP,目录结构如下图所示:那么怎么在已有的
- 前言老早就看到新闻员工通过人脸识别监控老板来摸鱼。有时候摸鱼太入迷了,经常在上班时间玩其他的东西被老板看到。自从在咸鱼上淘了一个树莓派3b,
- ASP里两种常用的生成文件的方式是:利用ADODB.Stream生成文件和利用Scripting.FileSystemObject(fso)
- 在网页设计初期,我们会先收集大家对设计方向的期许,我们经常收集到这样的建议:产品经理:要易用,要简洁设计总监:要特色,要亮点部门经理:要大气
- 前言我最近喜欢去听情感类的节目,比如说,婚姻类,我可能老了吧。我就想着怎么把音乐下载下来了,保存到手机上,方便我们业余时间去听。发送请求首先
- PDOStatement::fetchPDOStatement::fetch — 从结果集中获取下一行(PHP 5 >= 5.1.0,
- 1. glob文件名模式匹配尽管glob API很小,但这个模块的功能却很强大。只要程序需要查找文件系统中名字与某个模式匹配的一组文件,就可
- 水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。本文将通过Python代码实现打印水仙花数,具体如
- 现有:班级表(A_CLASS)学生表( STUDENT)注:学生表(STUDENT)的classId关联班级表(A_CLASS)的主键ID代
- 一、函数list(1)定义:用打开的文件作为参数,把文件内的每一行内容作为一个元素(2)格式:list(文件)(3)例子:with open
- 我就废话不多说了,大家还是直接看代码吧~// 窗体透明,控件不透明self.setWindowFlags(Qt.FramelessWindo
- 01、正则表达式学习正则表达式操作字符串,re模块是用C语言写的没匹配速度非常快,其中compile函数根据一个模式字符串和可选的标志参数生
- 1,在Python中将integer数转化为罗马数说明:在罗马数中(3999以内),和阿拉伯数字相似,可以把它分解为个位,十位,百位,千位,
- 一、 collections 中 defaultdict 的使用1.字典的键映射多个值将下面的列表转成字典l = [('a'
- 为什么要做接口自动化框架1、业务与配置的分离2、数据与程序的分离;数据的变更不影响程序3、有日志功能,实现无人值守4、自动发送测试报告5、不
- 需求对于部署在阿里云上的重要系统一般是不让其他人访问的,所以会在负载均衡(SLB)上加上访问控制列表。而使用ASDL拨号上网的宽带来说一般公
- 当需要再次安装SQL Server时,如果序列号找不到了,可以试着从已经安装的实例里找回序列号,因为安装完SQL Server后,序列号(P
- MySQL8.0的安装及配置方法,供大家参考,具体内容如下下载:先上网站在这个网站中找到下载完成后解压缩到你需要的路径MySQL配置然后在解