故障・更新信息 English Japanese

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;
	});
})();