KeyboardShortcut 控制
用于捕获和操作键盘事件的控件。
备注
GitHub 代码组件存储库中的完整文档和源代码。
说明
此代码组件注册按键事件处理程序以允许在画布应用或自定义页面中使用键盘快捷方式。 它不适用于模型驱动或门户应用。
属性
属性 | 说明 |
---|---|
KeyConfig |
指示要侦听的键盘快捷方式的字符串数组。 字符串必须使用 JSON 序列化(下一节中提供了示例)。 |
OnKey |
检测到的快捷方式。 |
将 KeyboardShortcuts
代码组件添加到窗体后,使用键组合数组配置 KeyConfig
属性。
例如:
["alt + r","alt + a","alt + d","alt + b","alt + p","alt + l","alt + t","alt + k"]
有关键盘组合字符串的详细信息,请转到 KeyboardJS 库。
行为
响应击键事件
当使用组合键时,会引发 OnChange
事件。 OnKey
属性然后将保留此组合。
您可能有一个类似于以下的 OnChange
事件:
If( Self.OnKey = "alt + a",
SetFocus(txtTextbox1)
);
If( Self.OnKey = "alt + r",
UpdateContext({ ctxResizableTextareaEvent:"SetFocus" & Text(Rand()) })
);
If( Self.OnKey = "alt + b",
SetFocus(txtTextbox2)
);
If( Self.OnKey = "alt + k",
UpdateContext({ ctxPickerEvent:"SetFocus" & Text(Rand()) })
);
If( Self.OnKey = "alt + d",
UpdateContext({ ctxDropdownEvent:"SetFocus" & Text(Rand()) })
);
If( Self.OnKey = "alt + l",
UpdateContext({ ctxTagListEvent:"SetFocus" & Text(Rand()) })
);
If( Self.OnKey = "alt + t",
UpdateContext({ ctxTableEvent:"SetFocusOnRow" & Text(Rand()) })
);
如何使用了组合键,此事件处理程序会将焦点设置在各个控件上。
限制
有些键盘快捷方式是在编辑应用时由 Power Apps Studio 使用,有一些则是由浏览器使用。 出于这个原因,在用户将焦点放在应用内之前,此组件不会对所有键盘快捷方式起作用。
此代码组件只能在画布应用和自定义页面中使用。
在 GitHub 文档的组件设计挑战一节查看更多限制说明。