微信小程序rich-text富文本用法实例分析


Posted in Javascript onMay 20, 2019

本文实例讲述了微信小程序rich-text富文本用法。分享给大家供大家参考,具体如下:

rich-text是一个新增的微信小程序插件,从基础库1.4.0开始,低版本需要做兼容处理

nodes属性可为Array和String类型,但推荐使用Array.由于String类型最终也会转为Array类型

nodes分为支持两种节点,分别为元素节点(type=node ,默认为元素节点)文本节点(type=text)

元素节点

name 标签名 String 支持部分受信任的HTML节点
attrs 属性 Object 支持部分受信任的属性,遵循Pascal命名法
children 子节点列表 Array 结构和nodes一致
<!-- rich-text.wxml -->
<rich-text nodes="{{nodes}}" bindtap="tap"></rich-text>
<!--{{nodes}}其中的变量名与data中名字相同-->
<!--支持默认事件tap、touchstart、touchmove、touchcancel、touchend和longtap-->
// rich-text.js
Page({
 data: {
 nodes: [{
 name: 'div',
 attrs: {
 class: 'div_class',
 style: 'width : 100px; height : 100px; color: red;'
 },
 children: [{
 type: 'text',
 text: 'Hello World!'
 }]
 }]
 },
 tap() {
 console.log('tap')
 }
})

如果页面中存在多个富文本,富文本中存在多个孩子,请看下例:

<!-- rich-text.wxml -->
<rich-text nodes="{{nodes}}"></rich-text>
<rich-text nodes="{{nodes1}}"></rich-text>
// rich-text.js
Page({
 data: {
 nodes: [{
 name: 'div',
 attrs: {
 class: 'div_class',
 style: 'width : 100px; height : 100px; color: red;'
 },
 children: [{
 type: 'text',
 text: 'Hello World!'
 }]
 }],
 nodes1: [{
 name: 'p',
 attrs: {
 class: 'p_class',
 style: 'text-align : center; color: green;'
 },
 children: [{
 type: 'text',
 text: '我是p标签!!!'
 },{
 name: "span",
 attrs: {
  style: "color:red",
  class: "span_class"
 },
 children: [{
  type: "text",
  text: '我是span标签,哈哈哈哈'
 }]
 }]
 }]
 },
})

文本节点

text 文本 String 支持entities
<!-- rich-text.wxml -->
<rich-text nodes="{{nodes}}"></rich-text>
// rich-text.js
Page({
 data: {
 nodes: "我是文本节点,意外不?"
 },
})

注意:

  • 全局支持class和style属性,不支持id属性。
  • nodes 不推荐使用 String 类型,性能会有所下降
  • rich-text 组件内屏蔽所有节点的事件。
  • name 属性大小写不敏感
  • 如果使用了不受信任的HTML节点,该节点及其所有子节点将会被移除,受信任的html节点请看官方文档
  • img 标签仅支持网络图片

希望本文所述对大家微信小程序开发有所帮助。

Javascript 相关文章推荐
用Javascript做flash做的事..才完成的一个类.Auntion Action var 0.1
Feb 23 Javascript
javascript 日历提醒系统( 兼容所有浏览器 )
Apr 07 Javascript
jQuery extend 的简单实例
Sep 18 Javascript
JSP中使用JavaScript动态插入删除输入框实现代码
Jun 13 Javascript
使用jQuery将多条数据插入模态框的实现代码
Oct 08 Javascript
微信小程序 picker 组件详解及简单实例
Jan 10 Javascript
JS实现移动端实时监听输入框变化的实例代码
Apr 12 Javascript
AngularJS解决ng-if中的ng-model值无效的问题
Jun 21 Javascript
vue组件父子间通信之综合练习(聊天室)
Nov 07 Javascript
js定时器+简单的动画效果实例
Nov 10 Javascript
vue form 表单提交后刷新页面的方法
Sep 04 Javascript
element el-tree组件的动态加载、新增、更新节点的实现
Feb 27 Javascript
bootstrap中的导航条实例代码详解
May 20 #Javascript
详解小程序云开发数据库
May 20 #Javascript
VUE脚手架具体使用方法
May 20 #Javascript
Vue CLI2升级至Vue CLI3的方法步骤
May 20 #Javascript
解决Vue+Electron下Vuex的Dispatch没有效果问题
May 20 #Javascript
微信小程序上传文件到阿里OSS教程
May 20 #Javascript
详解微信小程序开发聊天室—实时聊天,支持图片预览
May 20 #Javascript
You might like
比较详细PHP生成静态页面教程
2012/01/10 PHP
php实现计数器方法小结
2015/01/05 PHP
PHP中实现crontab代码分享
2015/03/26 PHP
php实现插入排序
2015/03/29 PHP
Nodejs使用mysql模块之获得更新和删除影响的行数的方法
2014/03/18 NodeJs
jquery 实现滚动条下拉时无限加载的简单实例
2016/06/01 Javascript
require.js配合插件text.js实现最简单的单页应用程序
2016/07/12 Javascript
Vue中的v-cloak使用解读
2017/03/27 Javascript
JavaScript通过filereader接口读取文件
2017/05/10 Javascript
node.js中grunt和gulp的区别详解
2017/07/17 Javascript
详解nodejs通过响应回写的方式渲染页面资源
2018/04/07 NodeJs
react配合antd组件实现的管理系统示例代码
2018/04/24 Javascript
react.js组件实现拖拽复制和可排序的示例代码
2018/08/20 Javascript
详解vue-cli3多环境打包配置
2019/03/28 Javascript
微信小程序实现按字母排列选择城市功能
2019/11/25 Javascript
JS 设计模式之:单例模式定义与实现方法浅析
2020/05/06 Javascript
JavaScript实现点击出现子菜单效果
2021/02/08 Javascript
[46:16]2018DOTA2亚洲邀请赛3月30日 小组赛B组 iG VS VP
2018/03/31 DOTA
使用python检测手机QQ在线状态的脚本代码
2013/02/10 Python
跟老齐学Python之不要红头文件(1)
2014/09/28 Python
Python常用内置函数总结
2015/02/08 Python
Python实现字典的key和values的交换
2015/08/04 Python
Python反射用法实例简析
2017/12/22 Python
Python八皇后问题解答过程详解
2019/07/29 Python
Python获取时间范围内日期列表和周列表的函数
2019/08/05 Python
Pytorch 实现自定义参数层的例子
2019/08/17 Python
Python基于进程池实现多进程过程解析
2020/04/30 Python
python中的错误如何查看
2020/07/08 Python
Html5在手机端调用相机的方法实现
2020/05/13 HTML / CSS
保密普查工作实施方案
2014/02/25 职场文书
爱我中华演讲稿
2014/05/20 职场文书
以幸福为主题的活动方案
2014/08/22 职场文书
办公室主任个人对照检查材料思想汇报
2014/10/11 职场文书
2014年房地产个人工作总结
2014/12/20 职场文书
老公保证书
2015/01/17 职场文书
房贷工资证明范本
2015/06/12 职场文书