Boost!for kintone
HOW TO WRITE

事件处理的编写方法

介绍将事件处理程序注册到事件的方法以及删除的方法。

01

注册事件处理程序

语法
bst.event.on(type, handler)
参数
参数名 指定的值 说明
type 字符串或字符串数组

指定要绑定事件处理程序的事件类型或事件类型数组。

handler 函数

事件发生时执行的处理程序。

在事件处理程序中return Promise对象时,会等待异步处理完成后再开始下一个处理。

返回值
无。
示例
(() => {
	"use strict";
	const handler = (event) => {
		console.log(event);
	};
	bst.event.on('bst.view.load', handler);
})();
02

删除事件处理程序

语法
bst.event.off(type, handler)
参数
参数名 指定的值 说明
type 字符串或字符串数组

指定绑定了要删除的事件处理程序的事件类型或事件类型数组。

handler 函数

要删除的事件处理程序。请指定与绑定时相同的事件处理程序。

返回值
无。
示例
(() => {
	"use strict";
	const handler = (event) => {
		console.log(event);
	};
	bst.event.on('bst.view.load', handler);

	bst.event.off('bst.view.load', handler);
})();
EVENT OBJECT

可以通过event对象执行的操作

介绍在事件处理程序中可以通过event对象执行的操作。

01

改写字段值

在事件处理程序中改写记录对象的字段值并返回event对象,记录的字段值将被更新。

示例
(() => {
	"use strict";
	bst.event.on('bst.change.field_1_', (event) => {
		const record = event.record;
		if (record.field_1_.value=='')
		{
			record.field_2_.value='option1';
		}
		return event;
	});
})();
02

自动获取Lookup

在事件处理程序中将Lookup字段的lookup属性设为true并返回event对象,将自动获取该Lookup字段的值。

如需清除Lookup字段,请在value属性为空的状态下,将lookup属性设为true。

示例
(() => {
	"use strict";
	bst.event.on('bst.edit.load', (event) => {
		const record = event.record;
		if (!record.field_3_.value)
		{
			record.field_3_.value=1;
			record.field_3_.lookup=true;
		}
		return event;
	});
})();
03

中止后续处理

在事件处理程序中将error属性设为true并返回event对象,包括后续处理在内的操作将被取消。

示例
(() => {
	"use strict";
	bst.event.on('bst.create.submit', (event) => {
		const record = event.record;
		if (record.field_1_.value=='')
		{
			bst.alert('No value entered.');
			event.error=true;
		}
		return event;
	});
})();