角ng-select:selectedItems.map不是函数

时间:2019-02-15 12:34:43

标签: javascript angular angular4-forms angular-ngselect

当我以角度形式使用ng-select时,出现此错误:

  

错误TypeError:selectedItems.map不是函数

我有3个选择非常好的前两个,但是在第三个中,我得到了错误!使用功能来映射我正在使用的项(ng-select在* ngFor内部):

//for mappinig item : 
mapLabelValueBS(objet) {
return objet.map(data => {
 return {
   id: data,
   text: data.name
 }
})
}
//this is the one that is causing the problem
<ng-select 
  [allowClear]="true"                                                 
  [items]="mapLabelValueBS(filieres)"
  placeholder="Filière non sélectionné"                                             
  (selected)="selecteFiliere($event)"                                                     
  formControlName="filiere">
</ng-select>

页面中的结果(当我单击该字段时,它会自身加倍):

enter image description here

3 个答案:

答案 0 :(得分:1)

没有代码很难知道,但是今天我遇到了同样的错误。原因是我确定了FormControl中的默认值,该默认值与ng-select要求的数组没有关系。加载FormGroup并将此错误的默认值加载到ng-select中时,错误为 selectedItems.map不是函数

答案 1 :(得分:0)

几天前,如果您绑定的是从后端服务器填充的列表,我会遇到此错误,请确保使用这样的concat方法填充列表

   this.userService.getLookup().subscribe((res: any) => {
        this.apps = this.apps.concat(res.data);
    });

答案 2 :(得分:0)

这个错误是在我传递 [items]="value" 时出现的,其中值不是数组,所以请检查您是否没有将非数组元素传递给 items 绑定。