3.7 KiB
3.7 KiB
Change
编辑器变更的相关操作
类型:ChangeInterface
使用
new Engine(...).change
构造函数
new (container: NodeInterface, options: ChangeOptions): ChangeInterface;
属性
rangePathBeforeCommand
命令执行前的光标转换后的路径
rangePathBeforeCommand?: { start: RangePath; end: RangePath };
event
事件
event: ChangeEventInterface;
range
Range 对象
range: ChangeRangeInterface;
marks
当前光标选区中的所有样式节点
marks: Array<NodeInterface>;
blocks
当前光标选区中的所有块级节点
blocks: Array<NodeInterface>;
inlines
当前光标选区中的所有行内节点
inlines: Array<NodeInterface>;
方法
apply
应用一个具有改变 dom 结构的操作
/**
* 应用一个具有改变dom结构的操作
* @param range 光标
*/
apply(range?: RangeInterface): void;
combinText
把当前编辑中间断的字符组合成一段不间断的字符
combinText(): void;
isComposing
是否在组合输入中
isComposing(): boolean;
isSelecting
是否正在选择中
isSelecting(): boolean;
setValue
设置编辑器值
/**
* @param value 值
* @param onParse 在转换为符合标准的编辑器值前使用根节点解析过滤
* @param options 异步渲染卡片回调
* */
setValue(value: string, onParse?: (node: Node) => void, callback?: (count: number) => void): void;
setHtml
设置 html 作为编辑器值
/**
* 设置html,会格式化为合法的编辑器值
* @param html html
* @param options 异步渲染卡片回调
*/
setHtml(html: string, callback?: (count: number) => void): void
getOriginValue
获取编辑器原始值
getOriginValue(): string;
getValue
获取编辑器值
/**
* @param ignoreCursor 是否忽悠光标所在的记录节点
* */
getValue(options: { ignoreCursor?: boolean }): string;
cacheRangeBeforeCommand
在执行命令前缓存光标对象
cacheRangeBeforeCommand(): void;
getRangePathBeforeCommand
获取命令执行前的光标转换后的路径
getRangePathBeforeCommand(): Path[] | null;
isEmpty
当前编辑器是否是空值
isEmpty(): boolean;
destroy
销毁
destroy(): void;
insert
插入 Fragment
/**
* 插入片段
* @param fragment 片段
* @param range 光标位置,默认当前光标位置
* @param callback 插入后的回调函数
* @param followActiveMark 删除后空标签是否跟随当前激活的mark样式
*/
insert(
fragment: DocumentFragment,
range?: RangeInterface,
callback?: (range: RangeInterface) => void,
followActiveMark?: boolean,
): void;
delete
删除内容
/**
* 删除内容
* @param range 光标,默认获取当前光标
* @param isDeepMerge 删除后是否合并
* @param followActiveMark 删除后空标签是否跟随当前激活的mark样式
*/
delete(
range?: RangeInterface,
isDeepMerge?: boolean,
followActiveMark?: boolean,
): void;
unwrap
去除当前光标最接近的 block 节点或传入的节点外层包裹
/**
* 去除当前光标最接近的block节点或传入的节点外层包裹
* @param node 节点
*/
unwrap(node?: NodeInterface): void;
mergeAfterDelete
删除当前光标最接近的 block 节点或传入的节点的前面一个节点后合并
/**
* 删除当前光标最接近的block节点或传入的节点的前面一个节点后合并
* @param node 节点
*/
mergeAfterDelete(node?: NodeInterface): void;