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

How to perform own action on F5 key press in UI5?

我不知道如何替换 SAPUI5.

中的 F5 键操作

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

只需向 window 添加一个事件侦听器并调用 preventDefault() 以阻止它执行默认的重新加载操作。

(在 运行 之后,在白色部分内单击以查看它是否正常工作。否则页面将重新加载)

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

自 UI5 1.70 (commit: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 中的自定义快捷方式功能: