微信小程序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 相关文章推荐
jquery 操作表格实现代码(多种操作打包)
Mar 20 Javascript
JavaScript获取和设置CheckBox状态的简单方法
Jul 05 Javascript
div模拟选择框示例代码
Nov 03 Javascript
jquery使用slideDown实现模块缓慢拉出效果的方法
Mar 27 Javascript
javascript iframe跨域详解
Oct 26 Javascript
Jquery Easyui表单组件Form使用详解(30)
Dec 19 Javascript
JavaScript中无法通过div.style.left获取值的解决方法
Feb 19 Javascript
JS获取字符对应的ASCII码实例
Sep 10 Javascript
angular1配合gulp和bower的使用教程
Jan 19 Javascript
Vue 2.5.2下axios + express 本地请求404的解决方法
Feb 21 Javascript
使用Vue父子组件通信实现todolist的功能示例代码
Apr 11 Javascript
javscript 数组扁平化的实现
Feb 03 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 网页播放器用来播放在线视频的代码(自动判断并选择视频文件类型)
2010/06/03 PHP
php获取从百度搜索进入网站的关键词的详细代码
2014/01/08 PHP
php随机显示指定文件夹下图片的方法
2015/07/13 PHP
Yii框架表单模型和验证用法
2016/05/20 PHP
PHP接口继承及接口多继承原理与实现方法详解
2017/10/18 PHP
学习YUI.Ext 第四天--对话框Dialog的使用
2007/03/10 Javascript
关于js new Date() 出现NaN 的分析
2012/10/23 Javascript
jquery实现marquee效果(文字或者图片的水平垂直滚动)
2013/01/07 Javascript
jQuery.buildFragment使用方法及思路分析
2013/01/07 Javascript
解析瀑布流布局:JS+绝对定位的实现
2013/05/08 Javascript
用javascript删除当前行,添加行(示例代码)
2013/11/25 Javascript
JS动态添加与删除select中的Option对象(示例代码)
2013/12/25 Javascript
JS的encodeURI和java的URLDecoder.decode使用介绍
2014/05/08 Javascript
浅谈setTimeout 与 setInterval
2015/06/23 Javascript
jQuery图片轮播插件——前端开发必看
2016/05/31 Javascript
js实现复选框的全选和取消全选效果
2017/01/03 Javascript
vuejs前后端数据交互之从后端请求数据的实例
2018/08/11 Javascript
jQuery实现鼠标移到某个对象时弹出显示层功能
2018/08/23 jQuery
用map函数来完成Python并行任务的简单示例
2015/04/02 Python
Python爬虫爬取一个网页上的图片地址实例代码
2018/01/16 Python
Python数据可视化:饼状图的实例讲解
2019/12/07 Python
Python sorted排序方法如何实现
2020/03/31 Python
python3实现将json对象存入Redis以及数据的导入导出
2020/07/16 Python
Python高并发和多线程有什么关系
2020/11/14 Python
纯css3实现的竖形无限级导航
2014/12/10 HTML / CSS
百思买美国官网:Best Buy
2016/07/28 全球购物
夏威夷航空官网:Hawaiian Airlines
2016/09/11 全球购物
猎人靴英国官网:Hunter Boots
2017/02/02 全球购物
NIHAOMARKET官方海外旗舰店:意大利你好华人超市
2018/01/27 全球购物
彪马英国官网:PUMA英国
2019/02/11 全球购物
学校岗位设置方案
2014/01/16 职场文书
软件毕业生个人鉴定
2014/03/03 职场文书
经理秘书求职自荐信范文
2014/03/23 职场文书
演讲稿格式
2014/04/30 职场文书
2014年业务员工作总结范文
2014/11/17 职场文书
WINDOWS下安装mysql 8.x 的方法图文教程
2022/04/19 MySQL