kintone plugin series
Boost! 程序事件
Boost!系列的插件允许通过每个插件发生的事件,使用JavaScript添加自定义处理。有关每种事件类型的详细信息,请参阅以下内容。
描述事件处理的方法
介绍如何将处理程序附加到各种事件。
注册事件处理程序
- 语法
-
kb.event.on(type, handler)
- 属性
-
参数名 指定的值 说明 type 字符串或字符串数组 指定要绑定事件处理程序的事件类型或事件类型数组。 handler 函数 在事件触发时执行的处理程序。
在事件处理程序中返回Promise对象时,将等待异步处理完成后开始下一个操作。
- 返回值
- 无。
- 示例
-
(() => { "use strict"; const handler = (event) => { console.log(event); }; kb.event.on('kb.view.load', handler); })();
删除事件处理程序
- 语法
-
kb.event.off(type, handler)
- 属性
-
参数名 指定的值 说明 type 字符串或字符串数组 指定要删除绑定的事件处理程序的事件类型或事件类型数组。 handler 函数 指定要删除的事件处理程序,与绑定时相同的事件处理程序。
- 返回值
- 无。
- 示例
-
(() => { "use strict"; const handler = (event) => { console.log(event); }; kb.event.on('kb.view.load', handler); kb.event.off('kb.view.load', handler); })();
event对象可以执行的操作
介绍event对象可以执行的操作。
修改字段的值
当事件处理程序覆盖记录对象字段的值并返回事件对象时,记录的字段将更新为这些值。
- 示例
-
(() => { "use strict"; kb.event.on('kb.change.field_1_', (event) => { const record = event.record; if (record.field_1_.value=='') { record.field_2_.value=='option1'; } return event; }); })();
自动获取查找字段
当事件处理程序为查找字段的lookup属性输入true并返回事件对象时,将自动获取这些查找字段。
如果要清除查找字段,请在其value属性为空值的状态下,将lookup属性输入true。
- 示例
-
(() => { "use strict"; kb.event.on('kb.edit.load', (event) => { const record = event.record; if (!record.field_3_.value) { record.field_3_.value=1; record.field_3_.lookup=true; } return event; }); })();
中止后续处理
当事件处理程序将error属性输入true并返回事件对象时,包括后续处理的操作将被取消。
- 示例
-
(() => { "use strict"; kb.event.on('kb.create.submit', (event) => { const record = event.record; if (record.field_1_.value=='') { kb.alert('No value entered.'); event.error=true; } return event; }); })();