如何在UI5中的按键上执行自己的操作?

问题描述 投票:0回答:2

我不知道如何替换SAPUI5中的F5按键操作。

我有一个“刷新”按钮,它正在 UI 中重新加载我的业务数据,并在将其显示在视图上之前进行某种操作。我想按下 F5,以便可以调用我的刷新方法。

javascript sapui5 keyboard-shortcuts keyevent
2个回答
6
投票

从 UI5 1.70 开始(提交:

59b83bf
),应用程序可以在
manifest.json
中定义应用程序范围的快捷方式,并在视图中声明相应的事件处理程序。

这是一个示例:https://embed.plnkr.co/NKOfisfY7w0MOiX8

manifest.json

"sap.ui5": {
  "commands": {
    "MyRefresh": {
      "shortcut": "F5"
    }

视图中:

<AnyUI5Control>
  <dependents>
    <core:CommandExecution xmlns:core="sap.ui.core"
      command="MyRefresh"
      execute=".onRefreshData"
    />
  </dependents>
</AnyUI5Control>

当控件获得焦点时,按 F5 将触发控制器中的事件处理程序

onRefreshData


⚠️请注意UI5中的自定义快捷方式功能:

  • 从 UI5 1.70 开始支持
  • 当前仅当控件具有焦点时才有效
  • 。请参阅 GitHub 上的相关讨论 确保您的
  • shortcut
  • 组合键不与目标控件已提供的
    现有快捷键
    重叠。
      按 UI5 控件分类的现有快捷键
    • SAP Fiori 元素提供的现有快捷方式

1
投票
preventDefault()

来阻止它执行默认的重新加载操作。

(运行后,点击白色部分即可查看是否正常运行,否则页面会重新加载)

window.addEventListener("keydown", (event) => { if (event.key == "F5") event.preventDefault(); });

© www.soinside.com 2019 - 2024. All rights reserved.