我不知道如何替换SAPUI5中的F5按键操作。
我有一个“刷新”按钮,它正在 UI 中重新加载我的业务数据,并在将其显示在视图上之前进行某种操作。我想按下 F5,以便可以调用我的刷新方法。
从 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中的自定义快捷方式功能:
preventDefault()
来阻止它执行默认的重新加载操作。
(运行后,点击白色部分即可查看是否正常运行,否则页面会重新加载)
window.addEventListener("keydown", (event) => {
if (event.key == "F5") event.preventDefault();
});