0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

鸿蒙ArkTS声明式开发:跨平台支持列表【组件快捷键事件】

jf_46214456 来源:jf_46214456 作者:jf_46214456 2024-05-28 15:49 次阅读

组件快捷键事件

开发者可以设置组件的自定义组合键,组合键的行为与click行为一致,组件在未获得焦点状态下也可以响应自定义组合键,每个组件可以设置多个组合键。

说明:
开发前请熟悉鸿蒙开发指导文档 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]
从API Version 10开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。

接口

keyboardShortcut(value: string | [FunctionKey], keys: Array<[ModifierKey]>)

参数

参数名参数类型必填参数描述
valuestring[FunctionKey]
keysArray<[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])

系统已有组合键

搜狗高速浏览器截图20240326151547.png

快捷键组件HarmonyOSOpenHarmony鸿蒙文档籽料: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]

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 鸿蒙
    +关注

    关注

    55

    文章

    2090

    浏览量

    42264
收藏 人收藏

    评论

    相关推荐

    鸿蒙ArkTS声明组件:ImageAnimator

    提供帧动画组件来实现逐帧播放图片的能力,可以配置需要播放的图片列表,每张图片可以配置时长。
    的头像 发表于 06-24 11:18 155次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>声明</b>式<b class='flag-5'>组件</b>:ImageAnimator

    鸿蒙ArkTS声明开发:跨平台支持列表【多态样式】 通用属性

    设置组件不同状态的样式。 从API version 9开始,该接口支持ArkTS卡片中使用。
    的头像 发表于 06-07 09:48 155次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>声明</b>式<b class='flag-5'>开发</b>:跨<b class='flag-5'>平台</b><b class='flag-5'>支持</b><b class='flag-5'>列表</b>【多态样式】 通用属性

    鸿蒙ArkTS声明开发:跨平台支持列表【形状裁剪】 通用属性

    参数为相应类型的组件,按指定的形状对当前组件进行裁剪;参数为boolean类型时,设置是否按照父容器边缘轮廓进行裁剪。 默认值:false 从API version 9开始,该接口支持Ark
    的头像 发表于 06-04 15:22 159次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>声明</b>式<b class='flag-5'>开发</b>:跨<b class='flag-5'>平台</b><b class='flag-5'>支持</b><b class='flag-5'>列表</b>【形状裁剪】 通用属性

    鸿蒙ArkTS声明开发:跨平台支持列表【显隐控制】 通用属性

    控制当前组件显示或隐藏。注意,即使组件处于隐藏状态,在页面刷新时仍存在重新创建过程,因此当对性能有严格要求时建议使用[条件渲染]代替。 默认值:Visibility.Visible 从API version 9开始,该接口支持
    的头像 发表于 06-03 14:46 357次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>声明</b>式<b class='flag-5'>开发</b>:跨<b class='flag-5'>平台</b><b class='flag-5'>支持</b><b class='flag-5'>列表</b>【显隐控制】 通用属性

    鸿蒙ArkTS声明开发:跨平台支持列表组件区域变化事件】

    组件区域变化事件指组件显示的尺寸、位置等发生变化时触发的事件。
    的头像 发表于 05-30 11:41 188次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>声明</b>式<b class='flag-5'>开发</b>:跨<b class='flag-5'>平台</b><b class='flag-5'>支持</b><b class='flag-5'>列表</b>【<b class='flag-5'>组件</b>区域变化事件】

    鸿蒙ArkTS声明开发:跨平台支持列表【焦点事件】

    焦点事件指页面焦点在可获焦组件间移动时触发的事件,组件可使用焦点事件来处理相关逻辑。
    的头像 发表于 05-27 22:17 107次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>声明</b>式<b class='flag-5'>开发</b>:跨<b class='flag-5'>平台</b><b class='flag-5'>支持</b><b class='flag-5'>列表</b>【焦点事件】

    鸿蒙ArkTS声明开发:跨平台支持列表【挂载卸载事件】

    挂载卸载事件指组件组件树上挂载、卸载时触发的事件。
    的头像 发表于 05-27 14:42 156次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>声明</b>式<b class='flag-5'>开发</b>:跨<b class='flag-5'>平台</b><b class='flag-5'>支持</b><b class='flag-5'>列表</b>【挂载卸载事件】

    鸿蒙ArkTS声明开发:跨平台支持列表【点击事件】

    组件被点击时触发的事件。
    的头像 发表于 05-26 21:25 86次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>声明</b>式<b class='flag-5'>开发</b>:跨<b class='flag-5'>平台</b><b class='flag-5'>支持</b><b class='flag-5'>列表</b>【点击事件】

    HarmonyOS开发案例:【待办列表

    使用ArkTS声明式语法和基础组件,实现简易待办列表。效果为点击某一事项,替换标签图片、虚化文字。
    的头像 发表于 05-06 15:22 775次阅读
    HarmonyOS<b class='flag-5'>开发</b>案例:【待办<b class='flag-5'>列表</b>】

    鸿蒙开发ArkTS基础知识

    一、ArkTS简介 ArkTS是HarmonyOS优选的主力应用开发语言。它在TypeScript(简称TS)的基础上,匹配了鸿蒙的ArkUI框架,扩展了
    的头像 发表于 01-24 16:44 1170次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b>之<b class='flag-5'>ArkTS</b>基础知识

    鸿蒙入门实战-ArkTS开发

    声明UI基本概念 应用界面是由一个个页面组成,ArkTS是由ArkUI框架提供,用于以声明开发
    发表于 01-16 17:27

    鸿蒙ArkTS的起源和简介

    新的声明开发范式,基于Skia的自绘制引擎构建可平台的独立的渲染能力。这是一种较为创新的方案,不过也有几点不足: Dart语言生态。尽管
    发表于 01-16 16:23

    鸿蒙 OS 应用开发初体验

    的操作系统平台开发框架。HarmonyOS 的目标是实现设备的无缝协同和高性能。 DevEco Studio 对标 Android Studio,开发
    发表于 11-02 19:38

    eclipse的快捷键汇总

    ,form,action 和 jsp,这种开发效率实在是低,为了以后能够尽快融入新的工作环境,保证开发速度,现在必须学习 eclipe 的使用。其实开发工具个人认为大体都是相同的,不同的只是
    发表于 09-28 07:59

    Altium Designer快捷键汇总

    AD快捷键汇总,Altium Designer PCB绘图快捷键使用汇总,熟练掌握后绘图很方便!
    发表于 09-20 06:31