前言
使用uni-app开发微信小程序时,使用text显示字符串(字符串带\n),需要在\n处直接换行。
1、本地字符串,可以直接换行显示。
2、后台返回字符串,直接换行失效。原因:渲染时 \n 直接被当成字符串处理了,根本不识别。
效果图
实现
1、使用replace()方法,字符串内的 \n 做一次替换。
具体演示代码
1、使用后台返回字符串
name: '周二至周五 10:00-19:00\n周六至周日 09:00-19:00 \n周一闭馆'
<!-- 替换第一个\n -->
<text>{{ name.replace(/\\n/,'\n') }}</text>
<!-- 全部替换 -->
<text>{{ name.replace(/\\n/g,'\n') }}</text>
PS:
var str = "namehagna".replace("a",""); 则只会替换第一个a
var str = "namehagna".replace(/a/g,""); 会替换所有: /g 代表匹配全文
使用这种方法,只能在text标签中生效,直接在view标签中使用这种方法不生效