菜单事件
在打开前、打开后和关闭时执行动作。
events 写在菜单顶层,与 menu、panels 同级,别名为 event、listener。
events:
pre_open:
if: 'perm invero.use'
then: true
else:
- "mmsg '&c你没有使用权限'"
- false
post_open: "mmsg '&7菜单已打开'"
close: "mmsg '&7菜单已关闭'"事件字段
| 字段 | 类型 | 必填 | 默认行为 | 说明 |
|---|---|---|---|---|
pre_open(preOpen、open) | 动作或动作列表 | 否 | 允许打开 | 打开前执行,最后结果为 false 时取消打开 |
post_open(postOpen、opened) | 动作或动作列表 | 否 | 不执行打开后动作 | 窗口打开后执行 |
close | 动作或动作列表 | 否 | 不执行关闭动作 | 关闭或跳转菜单时执行 |
pre_open 可用于初始化变量或设置打开条件。动作写法见点击动作,判断分支见条件动作。
上例有 invero.use 权限时打开菜单,否则发送提示并返回 false。
关闭事件
关闭事件也会在菜单跳转时触发。用于清理菜单状态或发送关闭提示;需要重新打开窗口时,将打开条件写入动作,避免与跳转相互触发。
重复执行的动作使用周期任务。
最后更新于