在支付宝小程序中,rich-text的nodes 属性只支持使用 Array类型,如果需要支持 HTML String,则需要自己将 HTML String 转化为 nodes
安装mini-html-parser2依赖
npm install mini-html-parser2 --save
引入
import parse from 'mini-html-parser2;
使用
//示例1
data: {
htmldata:[]
},
onLoad(options) {
var strhtml = `<div><h3>标题</h3><p>内容</p></div>`;
parse(strhtml, (err, htmlData) => {
if (!err) {
this.htmldata= htmlData
}
})
}
//示例2
//
data: {
htmldata:[]
},
onLoad(options) {
var data=[{
'name':`<div><h3>标题</h3><p>内容</p></div>`;
}]
for (var i = 0; i < data.length; i++) {
parse(data[i].name, async (err, htmlData) => {
if (!err) {
data[i].name=htmlData
}
})
}
this.htmldata=data
}