hotkey - 快捷键 API
@types IPublicApiHotkey
@since v1.0.0
模块简介
绑定快捷键 API,可以自定义项目快捷键使用。
方法
bind
绑定快捷键
/**
* 绑定快捷键
* bind hotkey/hotkeys,
* @param combos 快捷键,格式如:['command + s'] 、['ctrl + shift + s'] 等
* @param callback 回调函数
* @param action
* @returns
*/
bind(
combos: string[] | string,
callback: IPublicTypeHotkeyCallback,
action?: string,
): IPublicTypeDisposable;
相关 types
mount
给指定窗口绑定快捷键
/**
* 给指定窗口绑定快捷键
* @param window 窗口的 window 对象
*/
mount(window: Window): IPublicTypeDisposable;
使用示例
基础示例
hotkey.bind('command+s', (e) => {
e.preventDefault();
// command+s 快捷键按下时需要执行的逻辑
});
同时绑定多个快捷键
hotkey.bind(['command+s', 'command+c'], (e) => {
e.preventDefault();
// command+s 或者 command+c 快捷键按下时需要执行的逻辑
});
保存快捷键配置
import {
hotkey,
} from '@alilc/lowcode-engine';
function saveSchema(schema) {
// 保存 schema 相关操作
}
const saveSampleHotKey = (ctx: IPublicModelPluginContext) => {
return {
name: 'saveSample',
async init() {
hotkey.bind('command+s', (e) => {
e.preventDefault();
saveSchema();
});
},
};
}
saveSampleHotKey.pluginName = 'saveSampleHotKey';
plugins.register(saveSampleHotKey);