angular - ng-select 不显示 bindLabel 值
问题描述
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>
我两次使用相同的下拉菜单。但是,它不会在另一个 div 的第二个下拉列表中向用户显示标签
这没有在下拉列表中显示任何值。这在下拉列表中显示值:
解决方案
今天我也发生了同样的事情:
ng-select 使用项目数组通过如下绑定显示选项:[items]='itemArray'。这就是用户在首次填写表单时选择选项的方式(我们已经知道)。保存数据时,后端仅存储所选项目。
当重新使用表单来查看记录并可能再次编辑时,相同的项目数组不能为空。如果是,则不会显示所选选项。Angular 不发出任何警告,也不在乎。
Take Away :无论是用户第一次编辑,还是从数据存储中读回内容以查看然后编辑,请确保 items 数组有内容。
推荐阅读
- javascript - 通过另一个预定义的 Array 元素作为键重构 JavaScript 对象数组
- java - 从Java中的文本文件中提取特定列
- soap - Apache Camel 如何将 SOAP 消息从 JMS 队列传递到 CXF 端点
- python-3.x - 如何使用 falcon 服务器流式传输视频(运动 jpeg)?
- node.js - 上传的头像保存在哪里
- python - Python OpenCV 返回错误的 FPS
- css - 如何将 css 转换应用于单个按钮?
- python - 无法在请求模块中使用我从浏览器获得的 cookie
- search - 在文件中搜索单词
- reactjs - TypeError: Object(...) is not a function Reactjs 16.6.3