如何在 ng-select 上将选项设置为禁用?

分享于2022年07月17日 angular angular-ngselect 问答
【问题标题】:如何在 ng-select 上将选项设置为禁用?(How to set an option as disabled on ng-select?)
【发布时间】:2022-07-13 11:42:01
【问题描述】:

使用 ng-select 版本 12。是否可以将项目选项设置为禁用? ...他们有一堆 samples ,其中一些行被禁用,但没有解释他们如何实现这一点。通过检查源代码,我可以看到一些数据行的属性为 disabled:true ... 我假设我所要做的就是将此属性设置为我的对象,但仍然无法禁用项目。

  • 你能在 stackblitz 上做例子吗?
  • 只需在对象数组中添加一个名为 disabled 的属性

【解决方案1】:

如您所说,将 disabled:true 添加到您要禁用的对象是正确的。

以下代码找到一个人并禁用他。

this.dataService.getPeople().subscribe((people) => {
      this.people = people;
      const p2 = this.people.find((p) => p.id === '5a15b13c728cd3f43cc0fe8a'); 
      p2.disabled = true;
    });

以下代码查找所有 isActive 属性为 false 的人并禁用他们

 this.dataService.getPeople().subscribe((people) => {
      this.people = people.map((p) =>
        p.isActive ? p : { ...p, disabled: true }
      );
    });

这里是 code on StackBlitz

  • 谢谢 .... 它确实有效。看起来我添加 disabled 属性为时已晚,以至于 ngoptions 无法获取它。