我正在尝试将初始焦点设置为应用程序每个页面中的第一个输入字段。
我已经在以下文章中实现了代码,并且运行良好:
How to Set Initial Focus in a View?
但是我发现它是当从Fiori Launchpad打开应用程序中的第一个视图/页面时不起作用。我在onAfterShow
之后发现了以下正在执行的代码:
您能帮忙解决这个问题吗?我正在使用SAP UI5版本1.56.7。
通过在第一页的setTimeout函数中传递大约200毫秒解决了该问题,并且工作正常
sap/ushell/renderers/fiori2/Shell-dbg.controller.js
的作者在这里。浏览源代码和文档一段时间后,我不得不承认我也找不到任何可接受的解决方案。我的印象是FLP开发人员希望确保该应用程序不会干扰设置初始焦点。
缺乏API及其文档的强烈说明,这种预防背后有令人信服的原因(可能与之相关)。>>
我的建议是not
依靠超时,但通过在启动时将注意力集中在应用程序标题上来保持一致的用户体验-由SAP设计。