如何在FE中处理odata服务

问题描述 投票:0回答:1

我通过odata服务'IDNumber'(实体集)从BE获取。在FE上显示所有ID,但是如果“ IDNumber”为空,我想隐藏组合框(visible = false)。我不知道如何处理odata实体“ IDNumber”。

<ComboBox id="cbIDNumber" items="{/IDNumber}" placeholder="{i18n>SomeText}" visible="{path: '{/IDNumber}', formatter: '.formatter.formatVisible'}"> </ComboBox>

在formatter.js中,输入为null。如何获得可以使用的输入?

sapui5
1个回答
0
投票

如果加载了IDNumber列表,将触发事件dataReceived。>>

<ComboBox 
    id="cbIDNumber" 
    items="{
        path: '/IDNumber',
        events: {
            dataReceived: '.onDataReceived'
        }
    }" 
    placeholder="{i18n>SomeText}" />

然后您可以在控制器中实现事件处理程序:

onDataReceived: function(oEvent) {
    const oData = oEvent.getParameter("data");
    const aResults = oData.results;
    const bIsVisible = aResults.length > 0;

    const oCB = this.byId("cbIDNumber");
    oCB.setVisible(bIsVisible);
}
© www.soinside.com 2019 - 2024. All rights reserved.