完整微信小程序(Java后端) 技术贴目录清单页面(必看)

富文本。

属性 类型 默认值 必填 说明 最低版本
nodes array/string [] 节点列表/HTML String 1.4.0
space string   显示连续空格 2.4.1

space 的合法值

说明 最低版本
ensp 中文字符空格一半大小  
emsp 中文字符空格大小  
nbsp 根据字体设置的空格大小  

nodes

现支持两种节点,通过type来区分,分别是元素节点和文本节点,默认是元素节点,在富文本区域里显示的HTML节点 元素节点:type = node*

属性 说明 类型 必填 备注
name 标签名 string 支持部分受信任的 HTML 节点
attrs 属性 object 支持部分受信任的属性,遵循 Pascal 命名法
children 子节点列表 array 结构和 nodes 一致

文本节点:type = text*

属性 说明 类型 必填 备注
text 文本 string 支持entities

受信任的HTML节点及属性

全局支持class和style属性,不支持id属性

节点 属性
a  
abbr  
address  
article  
aside  
b  
bdi  
bdo dir
big  
blockquote  
br  
caption  
center  
cite  
code  
col span,width
colgroup span,width
dd  
del  
div  
dl  
dt  
em  
fieldset  
font  
footer  
h1  
h2  
h3  
h4  
h5  
h6  
header  
hr  
i  
img alt,src,height,width
ins  
label  
legend  
li  
mark  
nav  
ol start,type
p  
pre  
q  
rt  
ruby  
s  
section  
small  
span  
strong  
sub  
sup  
table width
tbody  
td colspan,height,rowspan,width
tfoot  
th colspan,height,rowspan,width
thead  
tr colspan,height,rowspan,width
tt  
u  
ul  

Bug & Tip

  1. tip: nodes 不推荐使用 String 类型,性能会有所下降。
  2. tip: rich-text 组件内屏蔽所有节点的事件。
  3. tip: attrs 属性不支持 id ,支持 class 。
  4. tip: name 属性大小写不敏感。
  5. tip: 如果使用了不受信任的HTML节点,该节点及其所有子节点将会被移除。
  6. tip: img 标签仅支持网络图片。
  7. tip: 如果在自定义组件中使用 rich-text 组件,那么仅自定义组件的 wxss 样式对 rich-text 中的 class 生效。

示例代码

在开发者工具中预览效果

index.js

Page({
  data: {
    html: '<div class="div_class" style="line-height: 60px; color: red;">Hello&nbsp;World!</div>',
    nodes: [{
      name: 'div',
      attrs: {
        class: 'div_class',
        style: 'line-height: 60px; color: red;'
      },
      children: [{
        type: 'text',
        text: 'Hello&nbsp;World!'
      }]
    }]
  },
  tap() {
    console.log('tap')
  }
})

index.wxml

<view class="page-body">
  <view class="page-section">
    <view class="page-section-title">传入html字符串</view>
    <view class="rich-text-wrp">
      <rich-text nodes="{{html}}" bindtap="tap"></rich-text>
    </view>
  </view>

  <view class="page-section">
    <view class="page-section-title">传入节点列表</view>
    <view class="rich-text-wrp">
      <rich-text nodes="{{nodes}}" bindtap="tap"></rich-text>
    </view>
  </view>
</view>

index.wxss

rich-text {
  width: 700rpx;
  padding: 25rpx 0;
}

.rich-text-wrp {
  padding: 0 25rpx;
  background-color: #fff;
}

.page-section{
  width: 100%;
  margin-bottom: 60rpx;
}

.page-section:last-child{
  margin-bottom: 0;
}

.page-section-title{
  font-size: 28rpx;
  color: #999999;
  margin-bottom: 10rpx;
  padding-left: 30rpx;
  padding-right: 30rpx;
}

运行效果:

微信小程序 富文本 rich-text组件_微信小程序

微信搜一搜【java1234】关注这个放荡不羁的程序员,关注后回复【资料】有我准备的一线大厂笔试面试资料以及简历模板。