Sapui5 桌上的府绸不';t显示数据

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

我有这个表组件():

这是XML片段:

<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>