一个强大的小程序富文本组件mp-html

简介: 一个强大的小程序富文本组件mp-html

1、mp-html简介

小程序自带的rich-text 组件支持的标签少且屏蔽所有事件,难以实际应用。mp-html组件能够便捷的在小程序平台上处理富文本的组件,还支持丰富的扩展功能。

  • 特性
    支持在多个主流的小程序平台和 uni-app 中使用
    支持丰富的标签(包括 table、video、svg 等)
    支持丰富的事件效果(自动预览图片、链接处理等)
    支持设置占位图(加载中、出错时、预览时)
    支持锚点跳转、长按复制等丰富功能
    支持大部分 html 实体
    丰富的插件(关键词搜索、内容编辑、latex 公式 等)
    效率高、容错性强且轻量化(≈25KB,9KB gzipped)

2、安装方式

通过 npm 获取

npm install mp-html

或通过 yarn 获取

yarn add mp-html

git 方式

通过 github 获取

git clone https://github.com/jin-yufeng/mp-html.git

或通过 gitee 获取

git clone https://gitee.com/jin-yufeng/mp-html.git

下载 zip

github releases:https://github.com/jin-yufeng/mp-html/releases
gitee releases:https://gitee.com/jin-yufeng/mp-html/releases

3、引入

  • npm 方式(本方法仅适用于微信、QQ 小程序)

在小程序项目根目录下通过 npm 安装组件包

开发者工具中勾选 使用 npm 模块(若没有此选项则不需要)并点击 工具 - 构建 npm

在需要使用页面的 json 文件中添加

{
  "usingComponents": {
    "mp-html": "mp-html"
  }
}
  • 源码引入(本方法适用于所有平台)

将 源码 中对应平台的代码包(dist/platform)拷贝到 components 目录下,更名为 mp-html

在需要使用页面的 json 文件中添加

{
  "usingComponents": {
    "mp-html": "/components/mp-html/index"
  }
}

4、使用

在需要使用页面的 wxml 文件中添加

<mp-html content="{{html}}" />

在需要使用页面的 js 文件中添加

Page({
  onLoad () {
    this.setData({
      html: '<div>Hello World!</div>'
    })
  }
})

5、uni-modules 方式

(uni-app 框架,本方法需要使用 3.1.0+ 版本的 HBuilder X 开发)

进入 插件市场,点击右上角的 使用 HBuilder X 导入插件 按钮导入项目或点击 下载插件ZIP 按钮下载插件包并解压到项目的 uni_modules/mp-html 目录下

在需要使用页面的 (n)vue 文件中添加

<template>
  <view>
    <!-- 不需要引入,可直接使用 -->
    <mp-html :content="html" />
  </view>
</template>
<script>
  export default {
    data () {
      return {
        html: '<div>Hello World!</div>'
      }
    }
  }
</script>

需要更新版本时在 HBuilder X 中右键 uni_modules/mp-html 目录选择 从插件市场更新 即可

源码方式

将 源码 中 dist/uni-app 内的内容拷贝到 项目根目录 下

插件市场 的 非 uni_modules 版本无法更新,请从其他方式获取 源码

在需要使用页面的 (n)vue 文件中添加

<template>
  <view>
    <mp-html :content="html" />
  </view>
</template>
<script>
  import mpHtml from '@/components/mp-html/mp-html'
  export default {
    // HBuilderX 2.5.5+ 可以通过 easycom 自动引入
    components: {
      mpHtml
    },
    data () {
      return {
        html: '<div>Hello World!</div>'
      }
    }
  }
</script>

6、npm 方式

在项目根目录下通过 npm 安装组件包

在需要使用页面的 (n)vue 文件中添加

<template>
  <view>
    <mp-html :content="html" />
  </view>
</template>
<script>
  import mpHtml from 'mp-html/dist/uni-app/components/mp-html/mp-html'
  export default {
    // 不可省略
    components: {
      mpHtml
    },
    data () {
      return {
        html: '<div>Hello World!</div>'
      }
    }
  }
</script>

7、运行

安装依赖

npm install
  • 生成微信示例项目到 dev/mp-weixin
npm run dev:weixin
  • 生成 qq 示例项目到 dev/mp-qq
npm run dev:qq
  • 生成百度示例项目到 dev/mp-baidu
npm run dev:baidu
  • 生成支付宝示例项目到 dev/mp-alipay
npm run dev:alipay
  • 生成头条示例项目到 dev/mp-toutiao
npm run dev:toutiao
  • 生成 uni-app 示例项目到 dev/uni-app
npm run dev:uni-app
目录
相关文章
|
1月前
|
小程序 前端开发 JavaScript
在线课堂+工具组件小程序uniapp移动端源码
在线课堂+工具组件小程序uniapp移动端源码
34 0
在线课堂+工具组件小程序uniapp移动端源码
|
2月前
|
小程序 数据可视化 JavaScript
微信小程序:轻松实现时间轴组件
本文介绍了如何在微信小程序中实现一个可视化时间轴组件。该组件适用于展示用户资金流动、投资结算等时间节点,帮助用户直观了解资金去向。时间轴支持自定义节点形状、显示序号、倒序排列等功能,并通过插槽灵活定义动态内容。文中详细介绍了组件的设计与使用方法,以及如何结合动态 slot 实现自定义操作。该组件为展示用户资金信息提供了美观、易用的解决方案。
70 1
微信小程序:轻松实现时间轴组件
|
3月前
|
数据可视化 前端开发
Twaver-HTML5基础学习(39)鹰眼可视化视图组件(OverView)
本文介绍了如何在Twaver-HTML5中使用鹰眼(Overview)可视化视图组件,它作为Network的缩略图,允许用户通过缩略图导航Network,支持单击、双击和框选操作来控制Network视图。
50 5
Twaver-HTML5基础学习(39)鹰眼可视化视图组件(OverView)
|
2月前
|
小程序
微信小程序动态tabBar实现:基于自定义组件,灵活支持不同用户角色与超过5个tab自由组合(更新版)
微信小程序动态tabBar实现:基于自定义组件,灵活支持不同用户角色与超过5个tab自由组合(更新版)
641 1
|
3月前
|
数据可视化 前端开发 容器
Twaver-HTML5基础学习(41)列表可视化视图组件(List)
本文介绍了如何在Twaver-HTML5中使用列表可视化视图组件(List),展示了如何创建列表、设置列表属性(如行高、间隔颜色等)、实现数据绑定和排序,以及如何通过React代码示例进行操作。
44 2
Twaver-HTML5基础学习(41)列表可视化视图组件(List)
|
2月前
|
小程序 搜索推荐 API
微信小程序:自定义关注公众号组件样式
尽管关注公众号组件的样式固定且不可修改,但产品经理的需求却需要个性化的定制。在这种情况下,我们需要寻找解决方案,以满足这些特殊需求,尽管这可能有点棘手。
81 0
微信小程序:自定义关注公众号组件样式
|
2月前
|
小程序 前端开发 JavaScript
微信小程序图表制作利器:ECharts组件的使用与技巧
微信小程序图表制作利器:ECharts组件的使用与技巧
76 1
|
2月前
|
缓存 小程序 索引
uni-app开发微信小程序时vant组件van-tabs的使用陷阱及解决方案
uni-app开发微信小程序时vant组件van-tabs的使用陷阱及解决方案
248 1
|
2月前
|
小程序 JavaScript
微信小程序之input组件及其获取用户输入信息
微信小程序之input组件及其获取用户输入信息
70 1
|
3月前
|
数据可视化 前端开发
Twaver-HTML5基础学习(25)网元可视化视图组件(Network)
这篇文章介绍了Twaver-HTML5中的网元可视化视图组件(Network)的层次结构,包括view、rootCanvas和topCanvas的使用方法和示例。
46 6