如何从Typescript中的对象数组中获取特定数据?

时间:2017-03-22 15:46:20

标签: angular typescript primeng

我正在尝试从PrimeNG DataTable中的所选项目中获取ID。我收到了这个错误但我在Google上找不到太多...

ERROR in C:/Users/*****/Documents/Octopus/Octopus 2.0/src/app/gebruikers/gebruikers.component.ts (200,33): Type must have a '[Symbol.iterator]()' method that returns an iterator.)

这是我的'界面':

export interface Departement {
DepName;
ID;
}

这是我的HTML代码:

<p-dataTable [value]="departementen" [rows]="3" class="thumbnail" resizableColumns="true" [paginator]="true" [pageLinks]="0" 
            [rowsPerPageOptions]="[3,5,10]" [globalFilter]="gbDepartementen" emptyMessage=""
            [(selection)]="NGSelectedDepartementen">
            <p-column [style]="{'width':'30px'}" selectionMode="multiple"></p-column>
            <p-column [style]="{'width':'40px'}" field="ID" header="ID"></p-column>
            <p-column field="DepName" header="Departement"></p-column>
        </p-dataTable>

这是我的组件代码,我希望它如何工作,但它不......(当然)

NGSelectedDepartementen: Departement;
for (let x of this.NGSelectedDepartementen) {
                console.log(x.ID);
}

当我选择两个'departementen'时,这就是我的NGSelectedDepartementen中的内容:

Array[2]
0:Object
DepName:"Koninklijke Academie voor Schone Kunsten Antwerpen"
  ID:16
  __proto__:Object
1:Object
  DepName:"Koninklijk Conservatorium Antwerpen"
  ID:17
  __proto__:Object
length:2
__proto__:Array[0]

任何人都可以给我一些示例代码,我应该怎么做?

答案

您的NGSelectedDepartementen应该是Departement[]类型而不是Departement。除非Departement实例是实现Iterable接口的类实例。

NGSelectedDepartementen: Departement[];

通过n00dl3回答

1 个答案:

答案 0 :(得分:1)

您的NGSelectedDepartementen应该是Departement[]类型,而不是Departement。除非Departement实例是实现Iterable接口的类实例。

NGSelectedDepartementen: Departement[];