组件快捷键事件
开发者可以设置组件的自定义组合键,组合键的行为与click行为一致,组件在未获得焦点状态下也可以响应自定义组合键,每个组件可以设置多个组合键。
说明:
开发前请熟悉鸿蒙开发指导文档 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md
]
从API Version 10开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
接口
keyboardShortcut(value: string | [FunctionKey], keys: Array<[ModifierKey]>)
参数:
参数名 | 参数类型 | 必填 | 参数描述 |
---|---|---|---|
value | string | [FunctionKey] | 是 |
keys | Array<[ModifierKey]> | 是 | 热键组合。 |
ModifierKey
名称 | 描述 |
---|---|
CTRL | 表示键盘上Ctrl键。 |
SHIFT | 表示键盘上Shift键。 |
ALT | 表示键盘上Alt键。 |
FunctionKey
名称 | 描述 |
---|---|
ESC | 表示键盘上ESC功能键。 |
F1 | 表示键盘上F1功能键。 |
F2 | 表示键盘上F2功能键。 |
F3 | 表示键盘上F3功能键。 |
F4 | 表示键盘上F4功能键。 |
F5 | 表示键盘上F5功能键。 |
F6 | 表示键盘上F6功能键。 |
F7 | 表示键盘上F7功能键。 |
F8 | 表示键盘上F8功能键。 |
F9 | 表示键盘上F9功能键。 |
F10 | 表示键盘上F10功能键。 |
F11 | 表示键盘上F11功能键。 |
F12 | 表示键盘上F12功能键。 |
快捷键使用注意事项
场景 | 快捷键处理逻辑 | 例子 |
---|---|---|
所有支持onClick事件的组件 | 支持自定义组合键 | 无 |
自定义组合键要求 | 控制键Ctrl,Shift,Alt及它们的组合加上其它可输入字符按键 | Button('button1').keyboardShortcut('a',[ModifierKey.CTRL]) |
多个不同组件设置相同组合键 | 只响应结点树上的第一个组件、其它组件不响应快捷键。 | Button('button1').keyboardShortcut('a',[ModifierKey.CTRL]) Button('button2').keyboardShortcut('a',[ModifierKey.CTRL]) |
无论组件是否获得焦点 | 只要窗口获焦快捷键就会响应 | 无 |
绑定单个快捷键时候,通过keyboardShortcut接口value值或者是keys值或两者都是空的情况下。 绑定多个快捷键的时候无法取消快捷键。 | 取消快捷键的设置 | Button('button1').keyboardShortcut('',[ModifierKey.CTRL]) Button('button2').keyboardShortcut('a',[l]) Button('button3').keyboardShortcut('',[]) |
独立pipeline子窗口、主窗口共存的情况下 | 获焦的窗口响应快捷键 | 无 |
keyboardShortcut接口中的keys命令中ctrl、shift、alt | 不区分左右键都响应 | Button('button1').keyboardShortcut('a',[ModifierKey.CTRL, ModifierKey.ALT]) |
keyboardShortcut接口中的value单个字符 | 不区分大小写都响应 | Button('button1').keyboardShortcut('a',[ModifierKey.CTRL]) Button('button2').keyboardShortcut('A',[ModifierKey.CTRL]) |
快捷键的响应 | 所有快捷键down的状态下响应、且连续响应 | 无 |
隐藏组件 | 响应快捷键 | 无 |
disable状态组件 | 不响应快捷键 | 无 |
1. 组件的组合键(包括系统预定义快捷键)相同时。 2. 接口参数value有多个字符时。 3. 接口参数keys有重复的控制键时。 | 这几种情况不绑定组合键, 先前绑定的组合键仍然有效 | Button('button1').keyboardShortcut('c',[ModifierKey.CTRL]) Button('button2').keyboardShortcut('ab',[ModifierKey.CTRL]) Button('button3').keyboardShortcut('ab',[ModifierKey.CTRL,ModifierKey.CTRL]) |
系统已有组合键
快捷键 | 组件HarmonyOS与OpenHarmony鸿蒙文档籽料:mau123789是v直接拿 |
---|---|
Ctrl + C | [Image]、[TextInput]、[TextArea] |
Ctrl+ A | [TextInput]、[TextArea] |
Ctrl+ V | [TextInput]、[TextArea] |
Ctrl+ X | [TextInput]、[TextArea] |
Shift + 方向键 | [TextInput]、[TextArea] |
Ctrl+ Shift+ Z | [TextInput]、[TextArea] |
Ctrl+ Z | [TextInput]、[TextArea] |
Ctrl+ Y | [TextInput]、[TextArea] |
方向键、回车键 | [TextInput]、[TextArea] |
TAB键 | [TextInput]、[TextArea] |
审核编辑 黄宇
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
鸿蒙
+关注
关注
57文章
2306浏览量
42730
发布评论请先 登录
相关推荐
鸿蒙ArkTS声明式开发:跨平台支持列表【分布式迁移标识】 通用属性
组件的分布式迁移标识,指明了该组件在分布式迁移场景下可以将特定状态恢复到对端设备。
鸿蒙ArkTS声明式开发:跨平台支持列表【形状裁剪】 通用属性
参数为相应类型的组件,按指定的形状对当前组件进行裁剪;参数为boolean类型时,设置是否按照父容器边缘轮廓进行裁剪。 默认值:false 从API version 9开始,该接口支持在Ark
鸿蒙ArkTS声明式开发:跨平台支持列表【显隐控制】 通用属性
控制当前组件显示或隐藏。注意,即使组件处于隐藏状态,在页面刷新时仍存在重新创建过程,因此当对性能有严格要求时建议使用[条件渲染]代替。 默认值:Visibility.Visible 从API version 9开始,该接口支持在
鸿蒙ArkTS声明式开发:跨平台支持列表【组件可见区域变化事件】
组件可见区域变化事件是组件在屏幕中的显示区域面积变化时触发的事件,提供了判断组件是否完全或部分显示在屏幕中的能力,适用于广告曝光埋点之类的场景。
鸿蒙ArkTS声明式开发:跨平台支持列表【按键事件】
按键事件指组件与键盘、遥控器等按键设备交互时触发的事件,适用于所有可获焦组件,例如Button。对于Text,Image等默认不可获焦的组件,可以设置focusable属性为true后使用按键事件。
鸿蒙ArkTS的起源和简介
新的声明式开发范式,基于Skia的自绘制引擎构建可跨平台的独立的渲染能力。这是一种较为创新的方案,不过也有几点不足:
Dart语言生态。尽管
发表于 01-16 16:23
评论