AiEditor API 文档
初始化
AiEditor 为整个编辑器的核心类,其初始化代码如下:
typescript
const aiEditor = new AiEditor({
element: "#aiEditor",
placeholder: "点击输入内容...",
})方法
方法调用示例代码:
typescript
const aiEditor = new AiEditor({
element: "#aiEditor",
placeholder: "点击输入内容...",
})
//获得编辑内容,并已 html 字符串的方式读取
const html = aiEditor.getHtml();
console.log(html)AiEditor 提供的方法如下:
getHtml(): 获取当前编辑器的 html 内容。getJson(): 获取当前编辑器的 json 描述数据。getText(): 获取当前编辑器的纯文本内容(不包含 html)。getSelectedText(): 获取当前编辑器选中的纯文本内容(不包含 html)。getMarkdown(): 获取当前编辑器的获取 markdown 格式内容。getOptions(): 获取当前编辑器的配置信息。getAttributes(name): 获取当前编辑器节点位置的节点(Node)或者标识(Mark)的属性,传入节点的名称。getOutline(): 获得内容的目录,返回一个数组,内容格式如下:
json
[
{
"id":"aie-heading-1",
"text":"安装",
"level":2,
"pos":1203,
"size":4
},
{
"id":"aie-heading-2",
"text":"使用",
"level":2,
"pos":1229,
"size":4
},
{
"id":"aie-heading-3",
"text":"配置",
"level":2,
"pos":2744,
"size":4
}
]在以上的目录内容中,每个字段的含义如下:
- text: 目录名称(或内容)
- level: 目录级别,值是 1 ~ 6,对应的 html 标签是 h1 ~ h6
- pos: 目录节点所在文档位置
- size: 目录节点的内容大小
focus(): 让编辑器获得焦点。focusPos(pos): 让编辑器的指定位置获得焦点。focusStart(): 让编辑器获得焦点,并设置光标在最开始位置。focusEnd(): 让编辑器获得焦点,并设置光标在最末尾位置。isFocused(): 检测当前编辑器是否获得焦点。blur(): 让编辑器失去焦点。insert(content): 动态插入 html、文本内容。注意: 当 aiEditor 没有获得焦点时,调用该方法无效,可以通过aiEditor.focus().insert(string)先获得焦点后,再插入内容。insertMarkdown(content): 动态插入 markdown 内容。clear(): 删除编辑器里的所有内容。setEditable(value):设置编辑器的编辑模式:value 的值为 true 或者 false。setContent(value):动态设置编辑器的内容,支持 json、html、文本的设置。setMarkdownContent(value):动态设置编辑器的内容,支持 markdown 内容的设置。clear(): 删除编辑器里的所有内容。isEmpty(): 检查编辑器里是否有内容。removeRetention(): 移除编辑器自动记录和保存的编辑内容。destroy(): 销毁当前实例,常用于 react 或者 vue 中,当组件卸载时调用。changeLang(lang): 切换当前编辑器的国际化语言,更多参考 《国际化》章节。
监听
内容变化监听
typescript
const aiEditor = new AiEditor({
element: "#aiEditor",
placeholder: "点击输入内容...",
onChange:(aiEditor)=>{
// 监听到用编辑器内容发生变化了,控制台打印编辑器的 html 内容...
console.log(aiEditor.getHtml())
}
})获得焦点
typescript
const aiEditor = new AiEditor({
element: "#aiEditor",
placeholder: "点击输入内容...",
onFocus:(aiEditor)=>{
console.log("获得焦点了....")
}
})失去焦点
typescript
const aiEditor = new AiEditor({
element: "#aiEditor",
placeholder: "点击输入内容...",
onBlur:(aiEditor)=>{
console.log("失去焦点了....")
}
})实例被创建
typescript
const aiEditor = new AiEditor({
element: "#aiEditor",
placeholder: "点击输入内容...",
onCreated:(aiEditor)=>{
console.log("AIEditor 创建了....")
}
})实例被销毁
typescript
const aiEditor = new AiEditor({
element: "#aiEditor",
placeholder: "点击输入内容...",
onDestroy:(aiEditor)=>{
console.log("AIEditor 被销毁了....")
}
})