Skip to main content
Version: 3.x

Editor

富文本编辑器,可以对图片、文字进行编辑。

编辑器导出内容支持带标签的 html和纯文本的 text,编辑器内部采用 delta 格式进行存储。

通过 setContents 接口设置内容时,解析插入的 html 可能会由于一些非法标签导致解析错误,建议开发者在小程序内使用时通过 delta 进行插入。

富文本组件内部引入了一些基本的样式使得内容可以正确的展示,开发时可以进行覆盖。需要注意的是,在其它组件或环境中使用富文本组件导出的 html 时,需要额外引入 这段样式,并维护 <ql-container><ql-editor></ql-editor></ql-container> 的结构。

图片控件仅初始化时设置有效。

*编辑器内支持部分 HTML 标签和内联样式,不支持 classid*

支持情况:

参考文档

类型

ComponentType<EditorProps>

示例代码

class App extends Components {
state = {
placeholder: '来,输入隔壁的名字试试...'
}

editorReady = e => {
Taro.createSelectorQuery().select('#editor').context((res) => {
this.editorCtx = res.context
}).exec()
}

undo = e => {
this.editorCtx.undo()
}

render () {
return (
<View>
<Editor id='editor' className='editor' placeholder={this.state.placeholder} onReady={this.editorReady}></Editor>
<Button type='warn' onClick={this.undo}>撤销</Button>
</View>
)
}
}

EditorProps

参数类型默认值必填说明
readOnlybooleanfalse设置编辑器为只读
placeholderstring提示信息
showImgSizebooleanfalse点击图片时显示图片大小控件
showImgToolbarbooleanfalse点击图片时显示工具栏控件
showImgResizebooleanfalse点击图片时显示修改尺寸控件
onReadyCommonEventFunction编辑器初始化完成时触发
onFocusCommonEventFunction<editorEventDetail>编辑器聚焦时触发
event.detail = { html, text, delta }
onBlurCommonEventFunction<editorEventDetail>编辑器失去焦点时触发
detail = { html, text, delta }
onInputCommonEventFunction<editorEventDetail>编辑器内容改变时触发
detail = { html, text, delta }
onStatuschangeCommonEventFunction通过 Context 方法改变编辑器内样式时触发,返回选区已设置的样式

API 支持度

API微信小程序H5React Native
EditorProps.readOnly✔️
EditorProps.placeholder✔️
EditorProps.showImgSize✔️
EditorProps.showImgToolbar✔️
EditorProps.showImgResize✔️
EditorProps.onReady✔️
EditorProps.onFocus✔️
EditorProps.onBlur✔️
EditorProps.onInput✔️
EditorProps.onStatuschange✔️

editorEventDetail