SAPUI5:无法从Array访问项目(或元素)(从List获取)

时间:2017-04-18 12:25:27

标签: javascript sapui5

此代码来自Controller.Here我正在尝试从列表中获取所有项目(XML视图)

onAfterRendering: function(oEvent) {

            var items = this.getView().byId("list").getItems("listitems");

            console.dir(items);




        }

此代码来自XMLview,其中使用Odata填充List

<List id="list"
            items="{ path: '/MYPROJECTSSet', sorter: { path: 'MpId', descending: false },groupHeaderFactory: '.createGroupHeader', parameters: { operationMode: 'Client' } }"
            busyIndicatorDelay="{masterView>/delay}" noDataText="{masterView>/noDataText}"
            mode="{= ${device>/system/phone} ? 'None' : 'SingleSelectMaster'}" growing="true" growingScrollToLoad="true"
            updateFinished="onUpdateFinished" selectionChange="onSelectionChange" >
            <infoToolbar>
                <Toolbar active="true" id="filterBar" visible="{masterView>/isFilterBarVisible}" press="onOpenViewSettings">
                    <Title id="filterBarLabel" text="{masterView>/filterBarLabel}"/>
                </Toolbar>
            </infoToolbar>
            <items>
                <ObjectListItem id="listitems" type="{= ${device>/system/phone} ? 'Active' : 'Inactive'}" press="onSelectionChange" title="{MpId}" intro="{Description}">
                    <firstStatus>
                        <ObjectStatus  id="icon" icon="{ parts: [ {path: 'ActualData'}, {path: 'PlannedData'} ], formatter : '.formatter.getIcon'}"/>
                    </firstStatus>
                </ObjectListItem>

            </items>
        </List>

以下是我在控制台中获得的数据。我无法使用索引

访问此数组的元素

有没有其他方法可以从列表中获取所有项目? 要么 访问数组元素的其他方法?

Click here to see resulted array

1 个答案:

答案 0 :(得分:0)

在您的情况下,您可以获取数据:

console.log(items[0].mProperties);

或:

var aData = (oList.getItems()).map(function(oItem){           
   console.log(oItem.getBindingContext().getObject());
});

getBindingContext方法需要一个模型名称。否则它将使用默认模型。如果使用带名称的OData模型,则应将其传递给getBindingContext方法调用。

Here是一个简单的演示,按下按钮。