ng-select 不显示 bindLabel 值

tan*_*mar 5 angular-ngselect angular

Ng-select 没有向客户端显示 bindLabel 值。也没有一个错误。我有几个 ng-select 下拉菜单。它在一个 div 中的一个下拉列表中显示价值。但是,即使我在另一个 div 中使用相同的下拉列表,它也没有显示该值。

这是我的一个 div 的下拉列表:

<div class="col-12 col-sm-12 col-md-4 m-auto mt-2">
<ng-select [items]="immigrationOptions" placeholder="Immigration Status" bindLabel="immigration_s_name"
bindValue="id" [ngClass]="{ 'is-invalid': submitted && f.immigration_status_id.errors }" appendTo="body" [virtualScroll]="true" formControlName="immigration_status_id"             [(ngModel)]="immigrationOption" aria-describedby="cnt_immigration_status_id">
     </ng-select>
    <small id="cnt_immigration_status_id" class="form-text text-muted">Immigration Status</small>
    <div *ngIf="submitted && f.immigration_status_id.errors" class="invalid-feedback">
   <div *ngIf="f.immigration_status_id.errors.required">Immigration status is required</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)

我两次使用相同的下拉菜单。但是,它不会在另一个 div 的第二个下拉列表中向用户显示标签

请检查附加的屏幕截图。 一个正在工作,另一个只是显示空白

这在下拉列表中没有显示任何值。这是在下拉列表中显示值:

下拉列表中的值

Joh*_*ers 4

今天我也发生了同样的事情:

ng-select 使用项目数组通过如下绑定显示选项:[items]='itemArray'。这就是用户在第一次填写表单时选择选项的方式(正如我们所知)。保存数据时,后端仅存储所选项目。

当重复使用表单来查看记录并可能再次编辑时,相同的项目数组不得为空。如果是,则不会显示所选选项。Angular 不会发出任何警告,也不关心。

要点:无论用户是第一次编辑,还是从数据存储读回内容进行查看然后编辑,请确保 items 数组有内容。