页面事件
页面事件用于给当前布局的运行时事件挂载 Studio 脚本。
当新建页或编辑页需要根据页面初始化、字段变化或子表操作执行逻辑时,可以使用页面事件。
可用范围
默认布局不支持页面事件。需要先创建自定义布局,再添加页面事件。
页面事件会在运行时页面匹配到该布局后执行。
新增页面事件
打开 页面事件,点击 新增页面事件。
需要配置:
| 配置项 | 说明 |
|---|---|
| 事件类型 | 选择脚本执行时机 |
| 字段范围 | 字段变化事件中选择全部字段或指定字段 |
| 子表 | 子表事件中选择对应子表 |
| Studio 脚本 | 选择要执行的脚本 |
事件类型
| 事件类型 | 执行时机 |
|---|---|
| 主表初始化 | 主表页面初始化时执行 |
| 主表字段变化时 | 全部或指定主表字段变化时执行 |
| 子表新增行 | 子表新增一行时执行 |
| 子表字段变化时 | 全部或指定子表字段变化时执行 |
| 子表删除行 | 子表删除一行时执行 |
字段范围
对于字段变化事件,可以选择监听全部字段,也可以只监听指定字段。
对于子表字段变化事件,指定字段属于已选择的子表。
脚本效果
页面事件脚本可以返回运行时效果,例如字段状态、字段值、字段错误、消息、通知和弹窗。
子表脚本可以返回子表字段状态、子表字段值和子表字段错误效果。
关联候选数据过滤应配置在来源 search、multi_search 或 foreign_key 字段的 关联数据范围 中,不要使用目标表单页面事件。查看 关联数据范围。
当少量静态选项字段需要页面级选项级联时,可以使用 fieldOptionFilter。脚本只按稳定的选项 value 过滤目标字段,label 仍然来自字段配置,因此字段设计中修改选项显示名或多语言文案后,脚本不需要同步维护 label。
return {
ok: true,
effects: [
{
type: 'fieldOptionFilter',
field: 'targetStatus',
allowedValues: ['processing', 'done'],
clearInvalidValue: true,
},
],
};
需要恢复字段原始配置选项时,返回 reset: true。
脚本入参、触发细节和返回效果,请查看 页面交互事件。