Sapui5 桌上的府绸不';t显示数据
我有这个表组件(): 这是XML片段:Sapui5 桌上的府绸不';t显示数据,sapui5,Sapui5,我有这个表组件(): 这是XML片段: <core:FragmentDefinition xmlns="sap.m" xmlns:core="sap.ui.core"> <Popover showHeader="false" placement="Bottom"> <TextArea value="{Comments}" growing="true" growingMaxLines="4" w
<core:FragmentDefinition
xmlns="sap.m"
xmlns:core="sap.ui.core">
<Popover
showHeader="false"
placement="Bottom">
<TextArea value="{Comments}" growing="true" growingMaxLines="4" width="100%"/>
</Popover>
</core:FragmentDefinition>
我认为“{Comments}”是调用列表项的poperty的正确方法
似乎我错了…我假设
Comments
属性属于SelectExpenseDetails
实体集的一个实体。您面临的问题实际上是由于绑定路径不正确
您已将弹出窗口附加为视图本身的依赖项。这意味着它的所有相对绑定(如文本区域值的绑定)都将基于视图的绑定上下文进行解析。如果视图未绑定到任何对象,则绑定将不会被解析
要解决这个问题,您应该将弹出窗口本身绑定到正确的路径,该路径是从按下的项目获得的。因此,您应该调整事件处理程序,如下所示:
ShowCommentsPensedDetailItem:函数(事件){
var popover=sap.ui.xmlfragment(“la.incloud.rva.aprobaciones.view.components.popover注释项详细信息”,此项);
this.getView().addDependent(popover);
bindElement(event.getSource().getBindingContext().getPath());
openBy(event.getSource());
}
此外,每次按下按钮时都会创建一个新的弹出窗口,您可能希望重新使用该弹出窗口(或者在视图中以声明方式创建它,或者将其存储为控制器的属性) 出于好奇。将弹出窗口附加为视图的从属项是一种好做法吗?如果不是,正确的方法是什么?这是一个很好的做法。如果您没有将弹出窗口/对话框作为依赖项附加到某个对象,那么您将不得不自己管理它的生命周期(主要是在您不再需要它时销毁它)。视图是添加它的好地方。您也可以将弹出窗口添加到控件树中,但您会遇到这种情况(因此,我通常会在视图中的页控件的从属项聚合中添加对话框)。感谢您的解释!
showCommentsExpenseDetailItem: function(event){
var popover = sap.ui.xmlfragment("la.incloud.rva.aprobaciones.view.components.popover-comment-item-detail", this);
this.getView().addDependent(popover);
popover.openBy(event.getSource());
}
<core:FragmentDefinition
xmlns="sap.m"
xmlns:core="sap.ui.core">
<Popover
showHeader="false"
placement="Bottom">
<TextArea value="{Comments}" growing="true" growingMaxLines="4" width="100%"/>
</Popover>
</core:FragmentDefinition>