微信小程序如何显示富文本,类似v-html,rich-text

一、微信小程序需求,有一段富文本字符串需要解析并展示在页面上;

结构如下 :content
在这里插入图片描述

二、解决办法

一、用过vue 的都知道vue 有个 v-html 属性,可以准换html格式并且展示;
但是微信小程序提供的方法是一个新的标签【基础内容 /rich-text】(微信文档传送门) ;
使用方法很简单:

<view>
	<rich-text nodes="{{content}}"></rich-text>
</view>

在这里插入图片描述

二、属性只有两个

属性类型默认值必填说明最低版本
nodesarray/string[ ]节点列表/HTML String1.4.0
spacestring显示连续空格2.4.1

三、官方的注意事项

Bug & Tip
tip: nodes 不推荐使用 String 类型,性能会有所下降。
tip: rich-text 组件内屏蔽所有节点的事件。
tip: attrs 属性不支持 id ,支持 class 。
tip: name 属性大小写不敏感。
tip: 如果使用了不受信任的HTML节点,该节点及其所有子节点将会被移除。
tip: img 标签仅支持网络图片。
tip: 如果在自定义组件中使用 rich-text 组件,那么仅自定义组件的 wxss 样式对 rich-text 中的 class 生效。

三、对于 rich-text 属性 space 的感知:

space 有三个值,通过对比可以发现:
1、默认的 rich-text 是不会解析空格的;
2、加入其中任意一个值,都会将原有的空格内容解析出来;
3、为了不影响布局,尽量还是 space一个属性比较好;

说明
ensp中文字符空格一半大小
emsp中文字符空格大小
nbsp根据字体设置的空格大小
  • 以下是测试三个值的区别:

  • 0 不加space

在这里插入图片描述

  • 1 加入 emsp
    在这里插入图片描述
  • 2 加入 ensp
    在这里插入图片描述
  • 3 加入nbsp
    在这里插入图片描述
  • 27
    点赞
  • 60
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值