#### rich-text
> 基礎庫 1.4.0 開始支持,低版本需做[兼容處理](https://mp.weixin.qq.com/debug/wxadoc/dev/framework/compatibility.html)
富文本。
| 屬性 | 類型 | 默認值 | 說明 | 最低版本 |
| ----- | -------------- | ---- | ------------------ | ---------------------------------------- |
| nodes | Array / String | [] | 節點列表 / HTML String | [1.4.0](https://mp.weixin.qq.com/debug/wxadoc/dev/framework/compatibility.html) |
支持默認事件,包括:`tap`、`touchstart`、`touchmove`、`touchcancel`、`touchend`和`longtap`
**nodes 屬性推薦使用 Array 類型,由于組件會將 String 類型轉換為 Array 類型,因而性能會有所下降**
##### 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 | |
| b | |
| blockquote | |
| br | |
| code | |
| col | span,width |
| colgroup | span,width |
| dd | |
| del | |
| div | |
| dl | |
| dt | |
| em | |
| fieldset | |
| h1 | |
| h2 | |
| h3 | |
| h4 | |
| h5 | |
| h6 | |
| hr | |
| i | |
| img | alt,src,height,width |
| ins | |
| label | |
| legend | |
| li | |
| ol | start,type |
| p | |
| q | |
| span | |
| strong | |
| sub | |
| sup | |
| table | width |
| tbody | |
| td | colspan,height,rowspan,width |
| tfoot | |
| th | colspan,height,rowspan,width |
| thead | |
| tr | |
| ul | |
**示例:**
```
<!-- rich-text.wxml -->
<rich-text nodes="{{nodes}}" bindtap="tap"></rich-text>
```
```
// rich-text.js
Page({
data: {
nodes: [{
name: 'div',
attrs: {
class: 'div_class',
style: 'line-height: 60px; color: red;'
},
children: [{
type: 'text',
text: 'Hello World!'
}]
}]
},
tap() {
console.log('tap')
}
})
```
##### 注意事項
1. `tip`: nodes 不推薦使用 String 類型,性能會有所下降。
2. `tip`: `rich-text` 組件內屏蔽所有節點的事件。
3. `tip`: attrs 屬性不支持 id ,支持 class 。
4. `tip`: name 屬性大小寫不敏感。
5. `tip`: 如果使用了不受信任的HTML節點,該節點及其所有子節點將會被移除。
6. `tip`: img 標簽僅支持網絡圖片。
7. `tip`: 如果在自定義組件中使用 `rich-text` 組件,那么僅自定義組件的 wxss 樣式對 `rich-text` 中的 class 生效。
- 簡介
- 第一章 公眾號開發
- 使用微信JSSDK
- 接口權限配置
- 分享接口
- 隱藏按鈕項
- 微信支付
- 第二章 小程序開發
- 基礎知識
- 分包加載
- WXSS樣式表
- 配置
- app.json配置
- window
- tabBar
- page.json配置
- 邏輯層
- app.js
- 場景值
- page.js
- 初始化數據
- 生命周期函數
- 頁面相關事件處理函數
- 事件處理函數
- 頁面實例方法
- 路由
- 文件作用域
- 模塊化
- 視圖層
- 模板語法
- 列表渲染
- 條件渲染
- 模板
- 事件
- 引用
- WXS語法規范
- WXS數據類型
- WXS控制流程
- WXS基礎類庫
- 組件
- 視圖容器
- view
- scroll-view
- swiper
- movable-view
- cover-view
- 基礎組件
- icon
- text
- rich-text
- progress
- 表單組件
- button
- checkbox
- form
- input
- label
- picker
- picker-view
- radio
- slider
- switch
- textarea
- 導航組件
- navigator
- 媒體組件
- audio
- image
- video
- camera
- 地圖組件
- map
- 畫布組件
- canvas
- 開放能力
- web-view
- 自定義組件
- 組件模版和樣式
- Component
- 組件傳值
- 組件事件
- Behaviors
- 組件間關系
- 網絡請求
- wx.request
- 微信登錄
- 獲取 openid 和 unionid
- 獲取用戶信息
- 將 wx.request 封裝為 promise
- 上傳圖片接口封裝
- 數據存儲
- 存儲數據和讀取數據
- 獲取數據緩存信息
- 移除數據緩存
- 獲取用戶設置
- openSetting
- getSetting
- 第三章 小游戲開發
- 參考資料