例如我有标记:
<input type="text" class="form-control" placeholder="Project #" name="project" [(ngModel)]="key" (ngModelChange)="filterProjects(key);" matInput [matAutocomplete]="auto">
<mat-autocomplete #auto="matAutocomplete" (optionSelected)="setProject($event.option.value)">
<mat-option *ngFor="let project of filtered" [value]="project.ProjNum">
{{project.ProjNum}}
</mat-option>
</mat-autocomplete>
<div class="input-group-append">
<button class="btn btn-info" (click)="load(selectedProject)">Load</button>
</div>
选择选项时,它调用该setProject()
函数,该功能设置了以后用于我的加载按钮的选定项目。但是,由于它当前起作用,将值绑定到[value]="project.ProjNum"
将调用带有项目编号的 setProject。虽然将我的值设置为[value]="project"
(这会将我selectedProject
的值设置为项目对象)似乎很直观,但它现在将显示[object Object]
在我的输入字段中。
如何修改它,以便我可以直接引用project
我的选项之外的对象,而不仅仅是选择和显示的属性?
注意:我知道我可以使用 ProjNum 过滤我的项目列表以找到正确的项目,然后设置 my selectedProject
,但是当我已经拥有我想要的对象时,我宁愿不浪费资源循环浏览列表。