2

当我以反应形式使用 ng-select 角度时,我收到此错误:

错误类型错误: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>

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

在此处输入图像描述

4

5 回答 5

2

没有代码很难知道,但今天我遇到了同样的错误。原因是我在 FormControl 中确定了一个与 ng-select 要求的数组无关的默认值。当 FormGroup 加载时,这个错误的默认值被加载到 ng-select 中,错误是selectedItems.map is not a function

于 2019-04-16T09:56:59.630 回答
1

几天前,如果您要绑定从后端服务器填充的列表,我遇到了这个错误,请务必使用这样的 concat 方法填充列表

   this.userService.getLookup().subscribe((res: any) => {
        this.apps = this.apps.concat(res.data);
    });
于 2020-06-04T09:27:21.513 回答
1

当我传递值不是数组的 [items]="value" 时出现此错误,因此请检查您是否没有将非数组元素传递给项目绑定。

于 2021-05-25T10:17:28.273 回答
1

您正在尝试绑定对象类型的项目。[items] 属性接受一个数组。您可以尝试添加管道键值

<ng-select 
  [allowClear]="true"                                                 
  [items]="jsonData | keyvalue"
  placeholder="Filière non sélectionné"                                             
  (selected)="selecteFiliere($event)"                                                     
  formControlName="filiere">
</ng-select>
于 2021-08-31T23:13:05.750 回答
0

我遇到了同样的问题,因为在页面准备过程中的某个时候项目列表未定义,所以我添加了一个愚蠢的条件来仅在项目列表准备好时显示那些选择:

<ng-select 
  *ngIf="selectedItems.map"
  [allowClear]="true"                                                 
  [items]="jsonData | keyvalue"
  placeholder="Filière non sélectionné"                                             
  (selected)="selecteFiliere($event)"                                                     
  formControlName="filiere">
</ng-select>
于 2022-02-09T11:34:35.897 回答