目录

editor

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

编辑器导出内容支持带标签的html和纯文本的text,编辑器内部采用delta格式进行存储。通过setContents接口设置内容时,解析插入的html可能会由于一些非法标签导致解析错误,建议开发者在ASCF元服务内使用时,通过delta进行插入。

相关API:EditorContext

起始版本: 1.0.17

属性:

名称 类型 默认值 必填 描述
read-only boolean false 否 设置编辑器为只读。
placeholder string - 否 编辑器内容为空时占位符。
enable-formats Array.<string> 所有格式 否

编辑器允许的名单内的格式。

例如enable-formats=['bold','italic'],只有这两种格式会生效。如果enable-formats属性不设置,所有支持的格式都生效。支持的格式:参考EditorContext.format支持的类型。

enterkeyhint string enter 否

点击编辑器拉起输入法后,输入法键盘右下角文字类型,有效值如下(不同机型不同输入法对该属性支持程度不一致):

- send:输入法键盘的右下角文字为“发送”。

- search:输入法键盘的右下角文字为“搜索”。

- next:输入法键盘的右下角文字为“下一步”。

- previous:输入法键盘的右下角文字为“上一步“。

- go:输入法键盘的右下角文字为“开始”。

- done:输入法键盘的右下角文字为“完成”。

- enter:输入法键盘的右下角文字为“换行”。

confirm-hold boolean true 否 点击键盘回车键时是否保持键盘不收起。
bindready eventhandle - 否 编辑器初始化完成时触发。
bindfocus eventhandle - 否 编辑器聚焦时触发,event.detail = {html,text,delta}。
bindblur eventhandle - 否 编辑器失去焦点时触发,detail = {html,text,delta}。
bindinput eventhandle - 否 编辑器内容改变时触发,detail = {html,text,delta}。
bindstatuschange eventhandle - 否 通过Context方法改变编辑器内样式时触发,返回选区已设置的样式。

示例:

hxml文件:

<view class="page-section">
  <editor
    id="editor"
    read-only="{{readOnly}}"
    placeholder="{{placeholder}}"
    enable-formats="{{enableFormats}}"
    enterkeyhint="{{enterkeyhint}}"
    confirm-hold="{{confirmHold}}"
    bindinput="{{onInput}}"
    bindready="{{onReady}}"
    bindblur="{{onBlur}}"
    bindfocus="{{onFocus}}"
    bindstatuschange="{{onStatusChange}}" />
</view>

js文件:

Page({
  data: {
    readOnly: false,
    placeholder: '请输入',
    enableFormats: ['bold'],
    enterkeyhint: 'enter',
    confirmHold: true,
  },
  onReady(e) {
    const info = e.detail;
  },
  onFocus(e) {
    const { html, text, delta } = e.detail;
  },
  onBlur(e) {
    const { html, text, delta } = e.detail;
  },
  onInput(e) {
    const { html, text, delta } = e.detail;
  },
  onStatusChange(e) {
    const info = e.detail;
  }
});