微信原生小程序中富文本组件(rich-text)如何实现图片预览(wx.previewImage)?
有需求后端返回的一个静态页面是一个富文本,使用原生组件rich-text之后,即可渲染到页面,当渲染到页面之后,含有img图片如何实现点击预览?
思路:使用正则把图片的url进行剖离出来,push进一个数组中,点击富文本组件,运行wx.previewImage方法。
wxml:
<rich-text nodes="{{富文本}}" catchtap="richTextClick"></rich-text>
点击事件:
// 富文本点击事件
richTextClick() {
// 富文本
const richContent = this.data.content;
// 判断含有图片
if (richContent.indexOf("src") >= 0) {
const imgs = [];
richContent.replace(/]*src=['"]([^'"]+)[^>]*>/gi, function (match, capture) {
imgs.push(capture);
})
wx.previewImage({
current: imgs[0], // 当前显示图片的http链接
urls: imgs
})
}
},
不足&Tip:
1、点击事件是加在富文本组件rich-text上的,渲染到页面也是一样,并不会把富文本中的dom渲染在页面中;
2、在预览图片时,无法知道用户点击的当前是哪个图片。所以,含有多张图片时,预览始终会从第一张图片开始,可左右滑动。
相关文档:
rich-text
wx.previewImage
新车新盘 嘎嘎稳 嘎嘎靠谱coinsrore.com
2025年10月新盘 做第一批吃螃蟹的人coinsrore.com
新车新盘 嘎嘎稳 嘎嘎靠谱coinsrore.com
新车首发,新的一年,只带想赚米的人coinsrore.com
新盘 上车集合 留下 我要发发 立马进裙coinsrore.com
做了几十年的项目 我总结了最好的一个盘(纯干货)coinsrore.com
新车上路,只带前10个人coinsrore.com
新盘首开 新盘首开 征召客户!!!coinsrore.com
新项目准备上线,寻找志同道合 的合作伙伴coinsrore.com
新车即将上线 真正的项目,期待你的参与coinsrore.com
新盘新项目,不再等待,现在就是最佳上车机会!coinsrore.com
新盘新盘 这个月刚上新盘 新车第一个吃螃蟹!coinsrore.com