angular - 使用 ng-select 时无法读取 null 的属性“$ngoptionlabel”
问题描述
我ng-select
用来显示我的应用程序从 API 检索到的数据,但是虽然数据已成功检索,但下拉菜单中没有显示任何内容。它只是说“未找到任何项目”。在控制台中,我有以下错误:
ERROR TypeError: Cannot read property '$ngoptionlabel' of null
这是我的打字稿代码:
// in a service, using HttpClient
this.http.get<string[]>(url);
// in a component, using the service injected in
data: string[] = [];
this.service.get()
.subscribe(data => {
this.data = data; // data contains values as expected
// other logic
});
在我的模板中,我传递this.data
给ng-select
.
<ng-select [items]="data"
[multiple]="true"
[closeOnSelect]="false"
[searchable]="true">
</ng-select>
我认为该错误听起来可能与该bindLabel
选项有关,但我没有使用它。错误是什么意思,我该如何解决?
解决方案
该错误意味着正在显示的数组中的一项是null
. 为了解决这个问题,null
在将 s 传递给 之前从数组中过滤掉ng-select
。在从 API 检索数据的情况下,您可以使用 rxjsmap
运算符来实现此目的。
this.http
.get<string[]>(url)
.pipe(
map(data => data.filter(x => x != null))
);
推荐阅读
- c# - SignalR:无法接收使用 SignalR 和 Azure 函数发送到组的消息
- python - python中的系列之和如何
- javascript - 消除
点击元素
- activemq - ActiveMQ 故障转移传输选项未按预期工作
- javascript - react如何改变材质表的大小?
- c++ - C++ 函数不会将数组反向打印到控制台
- python - 如何获得具有不同维度的 Numpy 数组的内积
- java - 有没有办法清除 IntelliJ 输出终端?
- android - android - 按钮使页面背景变为灰色
- python-3.x - python pyautogui 模块不支持孟加拉语文本