新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)小程序教程:微信小程序內(nèi)容組件rich-text
# rich-text
基礎(chǔ)庫 1.4.0 開始支持,低版本需做 兼容處理。
富文本。
| 屬性 | 類型 | 默認值 | 必填 | 說明 | 最低版本 |
|---|---|---|---|---|---|
| nodes | array/string | [] | 否 | 節(jié)點列表/HTML String | 1.4.0 |
| space | string | 否 | 顯示連續(xù)空格 | 2.4.1 |
space 的合法值
| 值 | 說明 | 最低版本 |
|---|---|---|
| ensp | 中文字符空格一半大小 | |
| emsp | 中文字符空格大小 | |
| nbsp | 根據(jù)字體設置的空格大小 |
# nodes
現(xiàn)支持兩種節(jié)點,通過type來區(qū)分,分別是元素節(jié)點和文本節(jié)點,默認是元素節(jié)點,在富文本區(qū)域里顯示的HTML節(jié)點 元素節(jié)點:type = node*
| 屬性 | 說明 | 類型 | 必填 | 備注 |
|---|---|---|---|---|
| name | 標簽名 | string | 是 | 支持部分受信任的 HTML 節(jié)點 |
| attrs | 屬性 | object | 否 | 支持部分受信任的屬性,遵循 Pascal 命名法 |
| children | 子節(jié)點列表 | array | 否 | 結(jié)構(gòu)和 nodes 一致 |
文本節(jié)點:type = text*
| 屬性 | 說明 | 類型 | 必填 | 備注 |
|---|---|---|---|---|
| text | 文本 | string | 是 | 支持entities |
# 受信任的HTML節(jié)點及屬性
全局支持class和style屬性,不支持id屬性。
| 節(jié)點 | 屬性 |
|---|---|
| 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 |
# Bug & Tip
- tip: nodes 不推薦使用 String 類型,性能會有所下降。
- tip: rich-text 組件內(nèi)屏蔽所有節(jié)點的事件。
- tip: attrs 屬性不支持 id ,支持 class 。
- tip: name 屬性大小寫不敏感。
- tip: 如果使用了不受信任的HTML節(jié)點,該節(jié)點及其所有子節(jié)點將會被移除。
- tip: img 標簽僅支持網(wǎng)絡圖片。
- tip: 如果在自定義組件中使用 rich-text 組件,那么僅自定義組件的 wxss 樣式對 rich-text 中的 class 生效。
# 示例代碼
在開發(fā)者工具中預覽效果
JavaScript
const htmlSnip =
`
Title
Life is like a box of
chocolates.
`
const nodeSnip =
`Page({
data: {
nodes: [{
name: 'div',
attrs: {
class: 'div_class',
style: 'line-height: 60px; color: red;'
},
children: [{
type: 'text',
text: 'You never know what you're gonna get.'
}]
}]
}
})
`
Page({
onShareAppMessage() {
return {
title: 'rich-text',
path: 'page/component/pages/rich-text/rich-text'
}
},
data: {
htmlSnip,
nodeSnip,
renderedByHtml: false,
renderedByNode: false,
nodes: [{
name: 'div',
attrs: {
class: 'div_class',
style: 'line-height: 60px; color: #1AAD19;'
},
children: [{
type: 'text',
text: 'You never know what you\'re gonna get.'
}]
}]
},
renderHtml() {
this.setData({
renderedByHtml: true
})
},
renderNode() {
this.setData({
renderedByNode: true
})
},
enterCode(e) {
console.log(e.detail.value)
this.setData({
htmlSnip: e.detail.value
})
}
})WXML
通過HTML String渲染
{{htmlSnip}}
通過節(jié)點渲染
{{nodeSnip}}
分享標題:創(chuàng)新互聯(lián)小程序教程:微信小程序內(nèi)容組件rich-text
文章分享:http://www.dlmjj.cn/article/dhjssde.html


咨詢
建站咨詢

