# rich-text

富文本。

支持默认事件,包括:click、touchstart、touchmove、touchcancel、touchend、longpress。

# 使用示例


扫码预览
用BoosHi扫码或PC端点击
<template>
  <view class="demo-ui-page">
    <view class="demo-title">rich-text 富文本容器</view>
    <demo-cell title="数组类型" subTitle="nodes属性为Array">
			<rich-text :nodes="nodes"></rich-text>
    </demo-cell>
    <demo-cell title="字符串类型" subTitle="nodes属性为String">
			<rich-text :nodes="strings"></rich-text>
    </demo-cell>
  </view>
</template>

<script>
	export default {
    data() {
        return {
            nodes: [{
                name: 'div',
                attrs: {
                    class: 'div-class',
                    style: 'line-height: 60px; color: red; text-align:center;'
                },
                children: [{
                    type: 'text',
                    text: 'Hello&nbsp;Boss-mp!'
                }]
            }],
            strings: '<div style="text-align:center;"><img width="80px" height="80px" src="https://histatic.zhipin.com/front/images/oEtx5sw3SpLmSf4h6b7ERu_1076x1076.jpg"/></div>'
        }
    }
}
</script>

<style>

</style>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
展开 刷新 关闭

# 属性说明

属性名 类型 默认值 说明
nodes Array / String [] 节点列表 / HTML String
space string 显示连续空格
@itemclick EventHandle 拦截点击事件(只支持  aimg标签),返回当前 node 信息  event.detail={node}

# nodes

nodes 值为 HTML String 时,在组件内部将自动解析为节点列表,推荐直接使用 Array 类型避免内部转换导致的性能下降。

节点列表内的节点现支持两种类型,通过 type 来区分,分别是元素节点和文本节点,默认是元素节点,在富文本区域里显示的 HTML 节点。

元素节点:type = node

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

文本节点:type = text

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

# 受信任的 HTML 节点及属性

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

节点 属性
a
abbr
b
blockquote
br
code
col span,width
colgroup span,width
dd
del
div
dl
dt
em
fieldset
h1
h2
h3
h4
h5
h6
hr
i
img alt,src,height,width
ins
label
legend
li
ol start,type
p
q
span
strong
sub
sup
table width
tbody
td colspan,height,rowspan,width
tfoot
th colspan,height,rowspan,width
thead
tr
ul

注意:

  • nodes 不推荐使用 String 类型,性能会有所下降。
  • attrs 属性不支持 id ,支持 class 。
  • name 属性大小写不敏感。
  • 如果使用了不受信任的 HTML 节点,该节点及其所有子节点将会被移除。
  • 如果在自定义组件中使用 rich-text 组件,那么仅自定义组件的 css 样式对 rich-text 中的 class 生效。
  • 使用 itemclick 时,如果发生节点嵌套,外层 a 标签 优先级高。
最后更新于 : 12/15/2022, 2:18:25 PM