Editor

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

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

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

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

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

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

参考文档

类型

  1. ComponentType<EditorProps>

示例代码

  • React
  • Vue
  1. class App extends Components {
  2. state = {
  3. placeholder: '来,输入隔壁的名字试试...'
  4. }
  5. editorReady = e => {
  6. Taro.createSelectorQuery().select('#editor').context((res) => {
  7. this.editorCtx = res.context
  8. }).exec()
  9. }
  10. undo = e => {
  11. this.editorCtx.undo()
  12. }
  13. render () {
  14. return (
  15. <View>
  16. <Editor id='editor' className='editor' placeholder={this.state.placeholder} onReady={this.editorReady}></Editor>
  17. <Button type='warn' onClick={this.undo}>撤销</Button>
  18. </View>
  19. )
  20. }
  21. }
  1. <template>
  2. <view class="container">
  3. <editor id="editor" class="editor" :placeholder="placeholder" @ready="editorReady"></editor>
  4. <button type="warn" @tap="undo">撤销</button>
  5. </view>
  6. </template>
  7. <script>
  8. import Taro from '@tarojs/taro'
  9. export default {
  10. data() {
  11. return {
  12. placeholder: '来,输入隔壁的名字试试...'
  13. }
  14. },
  15. methods: {
  16. editorReady() {
  17. Taro.createSelectorQuery().select('#editor').context((res) => {
  18. this.editorCtx = res.context
  19. }).exec()
  20. },
  21. undo() {
  22. this.editorCtx.undo()
  23. }
  24. }
  25. }
  26. </script>

EditorProps

参数类型默认值必填说明
readOnlybooleanfalse设置编辑器为只读
placeholderstring提示信息
showImgSizebooleanfalse点击图片时显示图片大小控件
showImgToolbarbooleanfalse点击图片时显示工具栏控件
showImgResizebooleanfalse点击图片时显示修改尺寸控件
onReadyBaseEventOrigFunction<any>编辑器初始化完成时触发
onFocusBaseEventOrigFunction<editorEventDetail>编辑器聚焦时触发
event.detail = { html, text, delta }
onBlurBaseEventOrigFunction<editorEventDetail>编辑器失去焦点时触发
detail = { html, text, delta }
onInputBaseEventOrigFunction<editorEventDetail>编辑器内容改变时触发
detail = { html, text, delta }
onStatuschangeBaseEventOrigFunction<any>通过 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

API 支持度

API微信小程序H5React Native
Editor✔️