问题标签 [angular-ngselect]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
7132 浏览

angular - 将 ng-select 绑定到对象内部的对象

我在我的 Angular 项目中使用 ng-select 并且我的实体有 Id 对象,这些对象本身就是对象。(Id 包含多个值)。

因此,例如作为项目输入,您将拥有一个如下所示的汽车数组:

所以对于车主我想设置汽车的carId而不绑定整个汽车对象。目前,当我使用 ng-select 时,它总是会选择他完整的汽车或仅选择一个值,如 systemId 或名称。

我尝试使用

但后来它说它不能绑定到一个对象。所以最后我想将 owner.carId 设置为 car.id 。目前我正在通过以下方式使用 ng-select 。

有没有办法做到这一点?

0 投票
1 回答
290 浏览

angular6 - 有角的 jhipster

我正在使用 Jhipster 开发一个应用程序,我试图在其中显示一个<ng-select>,它没有呈现为附件,我还在@import "~@ng-select/ng-select/themes/default.theme.css"vendor.css 中包含了默认主题()并重建了所有内容,它也没有显示。任何帮助表示赞赏。

0 投票
0 回答
1052 浏览

typescript - 更新项目时Angular 6 ng-select空值

我正在为我的 Angular 6 应用程序使用 ng-select,但我在更新 [items] 模型时遇到了问题。

我有动态添加输入,我正在使用 ng-select。Ng-selects 选项是字典项。但我不能重复选择的值。所以,当我添加新产品时,我会更新 ng-select 选项([items])。但是当我这样做时,之前添加的值会在视图中随机清除。很多时候都在清除(但值仍在表单模型中)。

这是我的 ng 选择:

和这里更新可用产品的功能:

}

我的问题是我做错了什么?如何正确刷新可用的字典项以避免出现空白值?

更新: 当我的项目模型(这里是我的字典)没有变化时,一切都很好,但是当我更新字典时,输入被随机清除。我试过过滤器,但它也不起作用。我在文档中发现“Ng-select 组件实现了 OnPush 更改检测,这意味着脏检查检查不可变数据类型。”。另外,我在文档中找到了 typeaheaf 和 searchFn。但是不知道怎么用。。

0 投票
0 回答
4592 浏览

javascript - 将所选项目添加到 ng-select 并预先输入多个

我正在使用ng-select从远程加载的大列表中选择多个值,具体取决于用户在框中键入的内容。以下是我的要求:

  1. 动态添加的标签
  2. 对于已选择的值,不显示下拉菜单。它仅用于预先输入可用的、未选择的值。

以下是我到目前为止遇到的问题:

  • 如果不是列表的一部分,则不会显示选定的标签items
  • 将标记对象用作数组,[(ngModel)]使得ng-select将其视为该值根本不存在。ng-select似乎只对[(ngModel)]when使用 ID [mutiple]=true,而不是在 when 中使用选定的对象[multiple]=false
  • 观察者tagsInput$不会被解雇,如果[isOpen]=false

我已经验证它tagsService运行正常。

目前看来:

电流控制器:

0 投票
1 回答
400 浏览

javascript - 删除父级时如何删除子级?

我正在使用ng-select 库的角度动态形式制作角度应用程序。

带有选择的HTML :

这里[items]="templateList"有以下内容,

当我们从下拉列表中选择一个项目时,我有(change)="getTemplateValues($event)"检测每个更改发生的事件。

更改事件函数已编辑

}

console.log(this.propertiesArray)给出以下内容,

在下图中,我删除了模板三,但模板三属性仍显示在其中。

在此处输入图像描述

首先,我首先过滤数据并忽略重复项,每次我将新选择的值单独发送到服务并获取与 id 相关的数据element.id

并使用this.addControls('template_properties')打开行数,元素将被修补到表单template_properties中。

截至目前一切正常..

问题实际上来自这里:

如果我们从下拉列表中删除一个选定的列表,(比如我已经选择了所有三个模板并且我已经删除template two那个特定templatetemplate_properties需要被删除..

尝试(remove)="onRemove($event)"但它不起作用,因为在删除数据时,该(change)函数也会调用..

如何在更改事件或删除事件中删除特定已删除模板名称的template_propertieswith ..this.removeControls('template_properties');

删除功能

删除控制

console.log(array)给,

在此处输入图像描述

0 投票
0 回答
490 浏览

angular - Angular ng-select 验证选择

我有一个 ng-select 选择框和一个应用按钮,用于确认选择。有一个Person对象,具有idname,所有名称都显示在下拉列表中供用户选择。

这个想法是用户选择一个名称(虽然他可以键入以过滤结果)然后确认,将选择的选项发送到服务器并将其保存到数据库中。

问题在于,用户可以输入无效输入(不存在的名称)并确认,而不是从过滤结果中选择选项。我不想让这种情况发生。

如果输入无效,我想禁用“应用”按钮(这意味着它尚未从结果中选择并且它与任何结果都不匹配,以防用户仅正确输入名称并且没有单击它在下拉菜单)。我怎样才能做到这一点?

这是我的代码:

每次用户从下拉列表中选择名称时,都会调用 storeNewPersonName($event) 函数。它将名称存储在变量中。然后在 updatePerson() 这个变量被转换成一个 Person 对象并发送到服务器。

tl;博士

所以基本上我需要将当前输入作为用户类型,将其与所有现有的人名(我存储在一个数组中)进行比较,如果输入不匹配或为空,则禁用确认按钮,否则启用它。

有任何想法吗?谢谢你的帮助。

0 投票
1 回答
212 浏览

angular - 类型'可观察的>' 不可分配给类型 'Observable'

我正在使用ng-select v2angular 7

我在下面的返回语句中遇到错误

3个错误说:

  • 类型“Observable>”不可分配给类型“Observable”。
  • 输入“医院[] | Observable' 不可分配给类型 'Hospitals[]'。
  • “Observable”类型不能分配给“Hospitals[]”类型。

这是我的getHospitals1函数

应该改变什么来解决这个问题?

0 投票
1 回答
4603 浏览

angular - 'Observable<> 类型上不存在属性 'filter'

当我添加过滤器时发生错误 它是使用 ng-select 的下拉列表的代码。它基于基于文本的搜索,这里 iam 使用 angular7 和 rxjs 6

0 投票
1 回答
3318 浏览

angular - 如何以角度 5 显示自定义下拉菜单

我正在尝试使用 Angular 5 中的 ng-select 在下拉列表中显示项目。但是我正在设计的下拉组件本质上应该更通用,这意味着调用我的下拉列表的人应该能够传递自定义模板以在下拉列表中显示项目。即下拉列表中的项目列表应使用特定模板构建,并且对我的通用下拉列表的调用应显示自定义的项目列表。这是可以在嵌入中实现的吗?目前我正在使用 String[] 数据类型的“dropdownVal”,但我需要有模板/组件数组。

我的代码如下

dropdown.component.ts

模板 - dropdown.component.html

0 投票
3 回答
14298 浏览

angular - Angular ng选择所需选项

我不知道如何在 ng-select 中使用所需的选项。

我试过这个:

但那里没有运气..