点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
我一直在(再次)讨论ui5的问题。 我正在创建一个新笔记,并且其中包含我的笔记的列表将被清空。 我尝试刷新绑定,重新调用oData甚至重新路由回到视图(有点蛮力),但似乎没有任何效果。 这是详细信息。
我的detail.view.xml看起来像这样:(只是要空白的面板)
<面板ID =" __ panel1" expandable =" true" expand =" false"><内容> 工具栏> <清单 id =" complexNotesList" items =" {path:'ComplexNotes',排序器:{path:'CreatedAt',降序:true}}"" growth =" true" growthThreshold =" 4" growScrollToLoad =" false"> 列表>
看起来像这样:
也许很重要的一个细节是,上面的'ComplexNotes'是$ expand的一部分。 在detail.controller.js的Init中,我执行此操作。
_onRouteFound:函数(oEvent){ var oArg = oEvent.getParameter(" arguments"); var oView = this.getView(); oView.bindElement({ 路径:"/img/Opportunities(guid'" + oArg.Guid +"')", 参数:{ " expand":" ComplexNotes,SalesTeam,MainContact" } }); }
到目前为止一切顺利。 现在,当我创建一个新便笺时,我想在提要列表中成功后立即看到它。 但是,它不仅不会显示,而且不会显示任何注释。
这是创建新笔记的步骤。 这工作得很好...意味着便笺创建成功。 但是,在"成功"之后大约一秒钟,该列表被清空。 我在代码行中添加了一些"->",这些行的行为不尽如人意(或我认为不应该)。
onPost:function(oEvent){ var oModel = this.getView()。getModel(); var Guid = oModel.getProperty(this.getView()。getBindingContext()。getPath()+"/img/Guid"); var注意= oEvent.getParameter(" value"); var newNote = { " HeaderGuid":Guid, " TextObjectID":" A002", " TextLanguageID":" EN", "内容":注意 }; var that = this; oModel.create("/img/OpportunityComplexNotesSet",newNote,{ 成功:function(oData){ MessageToast.show("成功..." + oData.Content); -> var oList = that.byId(" complexNotesList"); -> oList.getBinding(" items")。refresh(true); }, 错误:function(oError){ MessageToast.show(" Awww Snap!" + oError); } }); }
发布后...:(
另一个细节...当我放入调试器并查看模型时。 笔记在那里。 就像detail.view.xml不再看到它一样。 视图上的其他面板都很好。 惑。 如果我在调试器中执行" this.getView()。getModel()",然后看...这是模型。
我认为这可能与$ expand有关,但不知道。 再次感谢大家。 感谢您的帮助。
(81.0 kB)
大家好,
我无法使它正常工作,所以我尝试了另一种方法。 我以为我的问题可能是数据是$ expand的一部分,所以我决定为笔记使用命名模型。 以下是我所做的,并且可以正常工作。
在component.js中,我在init中声明了一个命名的json模型。
然后我在我的detailer.controller.js中填充了所述模型。
我还注释了detail.controller.js中的$ expand。
除引用所述命名模型外,视图保持不变。
然后在用户发布便笺时对detail.component.js进行小的更改。
这对我有用,因此如果它可以帮助其他人。 或者,当然,如果您有更好的方法,请告诉我。
格雷格
一周热门 更多>