富文本。
效果展示
示例代码
WXML
<view class="page"> <view class="page__hd"> <text class="page__title">rich-text</text> <text class="page__desc">富文本</text> </view> <view class="page__bd"> <rich-text nodes="{{nodes}}" bindtap="tap"></rich-text> </view> </view>
|
JS
Page({ data: { nodes: [{ name: 'div', attrs: { class: 'div_class', style: 'line-height: 60px; color: blue;padding-left:30px;' }, children: [{ type: 'text', text: 'Hello World!' }] }] } })
|
WXSS
.div_class { margin-top: 10px; }
|
API
| 属性 |
类型 |
默认值 |
必填 |
说明 |
| nodes |
array/string |
[] |
否 |
节点列表/HTML String |
nodes
现支持两种节点,通过type来区分,分别是元素节点和文本节点,默认是元素节点,在富文本区域里显示的 HTML 节点。
元素节点:type = node
| 属性 |
说明 |
类型 |
必填 |
备注 |
| name |
标签名 |
string |
是 |
支持部分受信任的 HTML 节点 |
| attrs |
属性 |
object |
否 |
支持部分受信任的属性,遵循 Pascal 命名法 |
| children |
子节点列表 |
array |
否 |
结构和 nodes 一致 |
文本节点:type = text
| 属性 |
说明 |
类型 |
必填 |
备注 |
| text |
文本 |
string |
是 |
支持entities |
受信任的HTML节点及属性
全局支持 class 和 style 属性,不支持 id 属性。
| 节点 |
属性 |
| a |
|
| abbr |
|
| address |
|
| article |
|
| aside |
|
| b |
|
| bdi |
|
| bdo |
dir |
| big |
|
| blockquote |
|
| br |
|
| caption |
|
| center |
|
| cite |
|
| code |
|
| col |
span,width |
| colgroup |
span,width |
| dd |
|
| del |
|
| div |
|
| dl |
|
| dt |
|
| em |
|
| fieldset |
|
| font |
|
| footer |
|
| h1 |
|
| h2 |
|
| h3 |
|
| h4 |
|
| h5 |
|
| h6 |
|
| header |
|
| hr |
|
| i |
|
| img |
alt,src,height,width |
| ins |
|
| label |
|
| legend |
|
| li |
|
| mark |
|
| nav |
|
| ol |
start,type |
| p |
|
| pre |
|
| q |
|
| rt |
|
| ruby |
|
| s |
|
| section |
|
| small |
|
| span |
|
| strong |
|
| sub |
|
| sup |
|
| table |
width |
| tbody |
|
| td |
colspan,height,rowspan,width |
| tfoot |
|
| th |
colspan,height,rowspan,width |
| thead |
|
| tr |
colspan,height,rowspan,width |
| tt |
|
| u |
|
| ul |
注意:
- nodes 不推荐使用 String 类型,性能会有所下降。
- rich-text 组件内屏蔽所有节点的事件。
- attrs 属性不支持 id ,支持 class 。
- name 属性大小写不敏感。
- 如果使用了不受信任的HTML节点,该节点及其所有子节点将会被移除。
- img 标签仅支持网络图片。
- 如果在自定义组件中使用 rich-text 组件,那么仅自定义组件的 wxss 样式对 rich-text 中的 class 生效。
多平台支持
| 节点 |
支持平台 |
| a |
支付宝 |
| abbr |
支付宝 |
| address |
|
| article |
|
| aside |
|
| b |
支付宝 |
| bdi |
|
| bdo |
|
| big |
|
| blockquote |
支付宝 |
| br |
支付宝 |
| caption |
|
| center |
|
| cite |
|
| code |
支付宝 |
| col |
支付宝 |
| colgroup |
支付宝 |
| dd |
支付宝 |
| del |
支付宝 |
| div |
支付宝 |
| dl |
支付宝 |
| dt |
支付宝 |
| em |
支付宝 |
| fieldset |
支付宝 |
| font |
|
| footer |
|
| h1 |
支付宝 |
| h2 |
支付宝 |
| h3 |
支付宝 |
| h4 |
支付宝 |
| h5 |
支付宝 |
| h6 |
支付宝 |
| header |
|
| hr |
支付宝 |
| i |
支付宝 |
| img |
|
| ins |
支付宝 |
| label |
支付宝 |
| legend |
支付宝 |
| li |
支付宝 |
| mark |
|
| nav |
|
| ol |
支付宝 |
| p |
支付宝 |
| pre |
|
| q |
|
| rt |
|
| ruby |
|
| s |
|
| section |
|
| small |
|
| span |
支付宝 |
| strong |
支付宝 |
| sub |
支付宝 |
| sup |
支付宝 |
| table |
支付宝 |
| tbody |
支付宝 |
| td |
支付宝 |
| tfoot |
支付宝 |
| th |
支付宝 |
| thead |
支付宝 |
| tr |
支付宝 |
| tt |
|
| u |
|
| ul |
支付宝 |
注释:
支付宝div-class的style的background无效、p和blockquote的行间距不一致、dd有首行缩进、a标签不支持超链接