视图渲染
编辑器在构建完成时会进行一次视图渲染,使得我们可以在页面看到 kaitify 所渲染的编辑器内容,但是后续的每一次节点操作或者光标修改,都需要我们手动调用
updateView
方法去更新视图
updateView 做了什么?
- 对新旧节点数组进行比对,得出有变更的节点
- 对有变更的节点采取一定的策略,进行格式化校验
- 进行视图渲染,更新编辑器内的
dom
- 如果编辑器内容发生了变化,触发
onChange
,同时根据入参判断是否需要加入历史记录 - 根据入参判断是否需要更新真实光标
何时调用 updateView?
当我们对节点数组进行操作,修改了节点,或者对光标进行操作,修改了光标位置等,我们通常需要调用 updateView
方法来更新编辑器视图
如果确定节点数组没有变化,仅仅是修改了光标信息,那么只需要调用 updateRealSelection
方法来渲染真实光标
性能问题
为了引起不必要的性能开销,尤其是当编辑器的内容过多时,我们需要合理地调用 updateView
方法
当你在执行一系列节点操作时,只需要在所有的操作结束后,调用一次 updateView
方法即可,无需多次调用
频繁地过多地调用可能会引起编辑器的卡顿、视图渲染延迟等问题