如何在 angular 6 中获取 ngSelect 下拉列表的选定文本和选定值

How to get Selected Text and Selected Value of an ngSelect dropdown in angular 6

发布表单后,我想在 angular 6.

中获取 ngSelect 下拉列表的 selected 项目名称和值

我已经尝试使用 ngModel 和 templateVariable 获取它,但是没有返回选择的名称,我只设法获取了选择的值。

<ng-select
 name="testFunctionID"
 [items]="testFunctions"
 [multiple]="false"
 bindLabel="name"
 bindValue="testFunctionID"
 [(ngModel)]="model.testFunctionID">
</ng-select>

对于下拉列表中显示的列表 {Mumbai :1}、{Pune: 2}、{Delhi: 3},如果我 select Pune,那么我应该得到 "Pune" 以及“2”作为输出 json.

我以前没有用过那个包,但我对你的问题很好奇,我想我有一个答案给你。

如果你看这里 https://github.com/ng-select/ng-select 它在 API 输入部分表明

bindValue - Object property to use for selected model. By default binds to whole object.

所以我猜如果您省略 bindValue 属性,您将拥有整个对象而不仅仅是 Id。

还注意到有一个事件可以挂接到

(change) - Fired on model change. Outputs whole model


问题作者指出无法使以下内容正常工作


所以你可以做这样的事情。

<ng-select
 name="testFunctionID"
 [items]="testFunctions"
 [multiple]="false"
 bindLabel="name"
 bindValue="testFunctionID"
 [(ngModel)]="model.testFunctionID"
 (change)="model.testFunctionName = $event.name">
</ng-select>

假设您要为模型设置名称 属性 以及 ID。