![](/img/trans.png)
[英]Angular 6: how to access ALL option values in mat-autocomplete dropdown?
[英]How to display a name but take the values of some other property from the object from mat-autocomplete select? Angular- Angular Material
我花了很多时间解决这个问题,但失败了。 我想选择显示名称并获取ID。 问题是,只要选择了一个值,就会显示该值的编号 (id)。 我的代码:
<mat-form-field class="example-full-width">
<input
matInput
placeholder="Search your product"
formControlName="id"
[matAutocomplete] = "auto">
<mat-autocomplete #auto="matAutocomplete" >
<mat-option *ngFor="let option of allProducts; let i = index" [value]="option.id" >
{{ option.name }}
</mat-option>
</mat-autocomplete>
</mat-form-field>
我试图创建一个函数 (onSelectionChange) 但无法显示名称并将值作为 (id)
好吧,您必须使用名为displayWith
的自动完成输入功能。
另外,我为您制作了一个 stackblitz 示例,以进一步简化它。
描述解决方案:
您必须向自动完成组件添加一个名为 displayWith 的输入
<mat-autocomplete #auto="matAutocomplete" [displayWith]="checkValue">
然后在您的组件中,您必须创建函数 checkValue
checkValue(value: any) {
// here you can get your id or whatever you want
console.log(value)
}
然后您必须将值添加到您的垫子选项中,并将您的整个对象作为值
<mat-option *ngFor="let option of options" [value]="option" >
{{option.name}}
</mat-option>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.