SuperAPI AI 工具集

gpui-action

通用与其它

查看项目

更新于 10-16 00:01

技能介绍

用途:在 GPUI 中实现声明式、键盘驱动的 UI 交互,把按键映射到具体动作并分发处理。

主要能力:用 actions! 宏或 #[derive(Action)] 定义动作;用 cx.bind_keys() 绑定按键;在元素上用 .on_action() 处理动作;通过 key_context() 实现上下文感知绑定,使同一按键在不同上下文触发不同动作;支持带参数的动作(如 InsertText、Digit)。

使用方式:定义动作后,在 init 中绑定按键,例如 cx.bind_keys([KeyBinding::new("up", MoveUp, Some(CONTEXT))]);在渲染元素上设置 .key_context(CONTEXT) 并挂载 .on_action(cx.listener(Self::move_up));处理函数中调用 cx.notify() 更新界面。按键格式支持修饰键(cmd-s、ctrl-c、alt-f、shift-tab、cmd-ctrl-f)、字母数字、f1-f12、方向键、enter、escape、space、tab、backspace、delete 及特殊字符。动作命名建议采用动词-名词模式,如 OpenFile、CloseWindow、ToggleSidebar。

适用场景:编辑器、模态框等需要快捷键与上下文路由的 GPUI 界面。

限制:资料未提供性能、无障碍等细节,仅提及参考文档涵盖这些主题;未提供收费、平台或效果信息。