显示动态 html 富文本是很多应用必要的需求,小程序平台不支持 dom 操作使得这成为一个难题,其自带的 rich-text 组件支持的标签少且屏蔽所有事件,难以实际应用。因此就有了这样一个能够便捷的在小程序平台上处理富文本的组件,还支持丰富的扩展功能。
提示:以下是mp-html正文内容,下面案例可供参考
mp-html富文本组件是一个可以在多个主流小程序平台(如微信、QQ、百度、支付宝、头条和uni-app)和uni-app中使用的小程序组件。
这个组件的主要功能有以下几点:
更多属性以可以参考官方文档,例如在原生平台上,可以通过npm方式安装组件包,然后在项目目录下构建npm,并在需要使用该组件的页面的json文件中添加相应的配置信息。
本方法仅适用于微信、QQ 小程序
npm install mp-html
使用 npm 模块
工具 - 构建 npm
{ "usingComponents": { "mp-html": "mp-html" } }
加载中...
Page({ onLoad() { this.setData({ html: 'Hello World!' }) } })
本方法适用于所有平台
{ "usingComponents": { "mp-html": "/components/mp-html/index" } }
支持的 属性 和 事件 见对应文档
本方法需要使用 3.1.0+ 版本的 HBuilder X 开发
使用 cli 方式运行的项目,通过 npm 方式引入时,需要在 vue.config.js 中配置 transpileDependencies,详情可见 #330
如果在 nvue 中使用还要将 dist/uni-app/static 目录下的内容拷贝到项目的 static 目录下,否则无法运行
更多方式可查看官方文档
1,直接在uniapp插件市场下载并导入HBuilderX
2,在uniapp中创建一个页面,使用mp-html
加载中...
3,在js中引入一个.vue文件,并在组件中声明
import mpHtml from '@/uni_modules/mp-html/components/mp-html/mp-html.vue'
components: { mpHtml },
4,定义一个data对应mp-html引用的数据,以及一个远程的html文件的路径,mp-html内容的样式可以定义在tagStyle中
data() { return { html: '', htmlUrl: 'https:baidu/**.html', /*这里是编的*/ tagStyle: { overflow: 'hidden;', /* 禁用横向滚动 */ p: 'font-size: 16px;color:#1F2329: line-heiaht: 1.4; padding:0; margin-block-start: 1.2em; margin-block-end: 1.2em;' }, } }
5,定义一个方法使用uniapp的函数(这个函数是用来从指定的URL加载HTML代码),在页面创建时加载html的数据并渲染到页面中
loadExternalHtml() { uni.request({ url: this.htmlUrl, // 外部HTML页面的URL success: (res) => { this.html = res.data; }, fail: (err) => { console.error(err); }, }); },
mounted() { this.loadExternalHtml(); },