W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
基礎(chǔ)庫(kù) 1.4.0 開始支持,低版本需做兼容處理。
富文本。
屬性 | 類型 | 默認(rèn)值 | 必填 | 說明 | 最低版本 |
---|---|---|---|---|---|
nodes | array/string | [] | 否 | 節(jié)點(diǎn)列表/HTML String | 1.4.0 |
space | string | 否 | 顯示連續(xù)空格 | 2.4.1 |
space 的合法值
值 | 說明 | 最低版本 |
---|---|---|
ensp | 中文字符空格一半大小 | |
emsp | 中文字符空格大小 | |
nbsp | 根據(jù)字體設(shè)置的空格大小 |
現(xiàn)支持兩種節(jié)點(diǎn),通過type來區(qū)分,分別是元素節(jié)點(diǎn)和文本節(jié)點(diǎn),默認(rèn)是元素節(jié)點(diǎn),在富文本區(qū)域里顯示的HTML節(jié)點(diǎn) 元素節(jié)點(diǎn):type = node*
屬性 | 說明 | 類型 | 必填 | 備注 |
---|---|---|---|---|
name | 標(biāo)簽名 | string | 是 | 支持部分受信任的 HTML 節(jié)點(diǎn) |
attrs | 屬性 | object | 否 | 支持部分受信任的屬性,遵循 Pascal 命名法 |
children | 子節(jié)點(diǎn)列表 | array | 否 | 結(jié)構(gòu)和 nodes 一致 |
文本節(jié)點(diǎn):type = text*
屬性 | 說明 | 類型 | 必填 | 備注 |
---|---|---|---|---|
text | 文本 | string | 是 | 支持entities |
全局支持class和style屬性,不支持id屬性。
節(jié)點(diǎn) | 屬性 |
---|---|
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 |
JavaScript
const htmlSnip =
`<div class="div_class">
<h1>Title</h1>
<p class="p">
Life is <i>like</i> a box of
<b> chocolates</b>.
</p>
</div>
`
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
<view class="container">
<view class="page-body">
<view class="page-section">
<view class="page-section-title">通過HTML String渲染</view>
<view class="page-content">
<scroll-view scroll-y>{{htmlSnip}}</scroll-view>
<button style="margin: 30rpx 0" type="primary" bindtap="renderHtml">渲染HTML</button>
<block wx:if="{{renderedByHtml}}">
<rich-text nodes="{{htmlSnip}}"></rich-text>
</block>
</view>
</view>
<view class="page-section">
<view class="page-section-title">通過節(jié)點(diǎn)渲染</view>
<view class="page-content">
<scroll-view scroll-y>{{nodeSnip}}</scroll-view>
<button style="margin: 30rpx 0" type="primary" bindtap="renderNode">渲染Node</button>
<block wx:if="{{renderedByNode}}">
<rich-text nodes="{{nodes}}"></rich-text>
</block>
</view>
</view>
</view>
</view>
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: