点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
SAP Gurus,您好,
我有一个小疑问。 我已经创建了一个类似于WorkList fiori的应用程序。 在一个屏幕上(使用SplitApp控件)有2个视图。主视图具有水果列表(使用的列表控件,并绑定了JSON模型)。 当我单击任何列表项时,第二个视图具有一个SimpleForm控件。
如果我单击"奇异果",则将表单输入与名称和价格绑定在一起。 因此, Kiwi 和 78 将出现在SimpleForm(第二视图)中。
问题是,我使用了 RouteMatchedHandler 方法来处理浏览器后退和前进按钮。 另外,对manifest.json的routing属性进行必要的更改。 一切正常。
每当我单击第一个水果,然后单击第二个然后单击第三个水果时,相应的数据就会显示在第二个视图的SimpleForm输入中。 另外,"前进和后退"按钮可以正常工作(URL末尾即#fruits/1,#fruits/2,.......)已更改
但是,当我从第一个水果转到第二个水果,然后当我按浏览器返回时,理想情况下,列表项上的选择/突出显示也应更改,但选择没有得到 在第一视图的列表中更改。 为此,我将"选定项目"设置为:
oList.setSelectedItem(oList.getItems()[i]),如下所示
请帮助我解决问题。 非常感谢您的时间。
我已经为第二视图的控制器编写了以下代码:
此外,如果您需要参考其他文件,请查找附件的项目文件。 app-view.txt component-js .txt main-controller.txt main-view.txt manifest-json.txt model-creation.txt view2controller.txt view2.txt
onInit:函数(){ //RouteMatchedHandler:每次页面路由/URL更改时,此方法都会触发 this.oRouter = this.getOwnerComponent()。getRouter(); this.oRouter.attachRoutePatternMatched(this.hercules,this); }, 大力神:函数(oEvent){ var sPath ="/img/fruits" +"/" + oEvent.getParameter(" arguments")。mario; this.getView()。bindElement(sPath); //获取列表对象 var oMasterView = this.getView()。getParent()。getParent()。getMasterPages()[0]; var oList = oMasterView.byId(" idList2"); var fruitName = this.getView()。getModel()。getProperty(sPath).name; for(var i = 0; iapp-view.txt (215乙)
您好 PRATHAMESH ,
请先取消选择母版页列表中的所有项目 然后选择所需的那个。 请尝试以下代码以供参考。
希望这会有所帮助...
谢谢-
Abhishek
您好,Prathamesh,
从您共享的每个屏幕快照来看,当您从母版页中的一个项目导航到另一个项目时,相应的详细信息将显示在"详细信息"页面上(应该没有整页刷新)。 如果未刷新整页,则不会激活浏览器后退按钮。
在Master Details应用程序中,如果整页正在刷新,则您可能需要检查此导航,据我所知,这不会发生 。
如果您仍然想处理浏览器后退按钮,请参考以下代码,这将有助于处理浏览器后退按钮并更新您的哈希导航。
请参考下面的演示应用程序以获得场景。
https://ui5.sap.com/test-resources/sap/m/demokit/master-detail/webapp/test/mockServer.html #/Objects/ObjectID_10
希望这会有所帮助。
谢谢-
Abhishek
一周热门 更多>