跳到主要内容

业务系统表单项与文档中的书签一一对应,在表单中输入时,表单输入框会失焦,焦点跑到文档,导致内容输入到了文档(文档开启了保护情况下会弹出提示)

解答:

背景:用户监听了表单输入框的输入事件,通过调用 bookmark.setText api 将输入内容实时同步到文档对应书签区域。

原因分析:SDK api 遵循第一人称视角来定义的,所以设值接口(bookmark.setText、permMark.setText、bookmark.setHtml等)调用会自动滚动到指定区域,自动获取焦点

解决办法:通过 app.setUIState api,定义其他 api 在执行时的默认光标行为

// 设置调用 api 时,禁止聚焦文档,允许滚动(如果api需要的话)
const app = await ZOfficeSDK.mount(url, selector ,true);
await app.ready();
await app.setUIState({ cursorContext: { focus: false, scroll: true }});

[!CAUTION]

注意:setUIState api 自 v8.0FP2 hotfix2 开始支持