toFrankie / blog

种一棵树,最好的时间是十年前。其次,是现在。
20 stars 1 forks source link

微信小程序将字符串中所有 '\\n' 转换成 '\n' #300

Open toFrankie opened 1 year ago

toFrankie commented 1 year ago

假如有一个配置的功能,接口返回数据如下,其中 \n 表示换行,即在前端需要换行展示。

<view style="white-space: pre-wrap">{{message}}</view>
// 接口数据
const res = {
  code: 1000,
  body: {
    message: "1. 规则一\n2. 规则二\n3. 规则三"
  },
  msg: "request:ok"
}

this.setData({ message: res.body.message })

这种情况下,在微信小程序里面直接 setDate 的话,会被转化为 '1. 规则一\\n2. 规则二\\n3. 规则三' 导致无法换行。

所以我们需要 replace(/\\n/g, '\n') 转化一下:

const message = res.body.message.replace(/\\n/g, '\n')
this.setData({ message })

这样就 OK 了。