基本上,我试图将选定的项目模板用于PrimeNG的自动完成功能,但不起作用。在下面的代码中,我在“ selectedItem”模板中指定以某种方式设置值的格式。有什么我想念的吗?
<p-autoComplete [formControlName]="controlModel.id"
[forceSelection]="true"
[suggestions]="httpSearchResult"
field="Identifier"
(completeMethod)="searchFromUrl($event.query)"
(onSelect)="setSearchBoxValue()"
[dropdown]="true"
[placeholder]="'Select ' + controlModel.displayName"
[multiple]="controlModel.multiple">
<ng-template let-searchItem pTemplate="item">
<ng-container *ngIf="searchItem.DisplayLabel == '' && searchItem.Identifier != ''">
<div class="ui-helper-clearfix">
<div>{{searchItem.Identifier}}</div>
</div>
</ng-container>
<ng-container *ngIf="searchItem.DisplayLabel != '' && searchItem.Identifier == ''">
<div class="ui-helper-clearfix">
<div>{{searchItem.DisplayLabel}}</div>
</div>
</ng-container>
<ng-container *ngIf="searchItem.DisplayLabel != '' && searchItem.Identifier != ''">
<div class="ui-helper-clearfix">
<div>{{searchItem.Identifier}} - {{searchItem.DisplayLabel}}</div>
</div>
</ng-container>
</ng-template>
<ng-template let-searchItem pTemplate="selectedItem">
<div class="ui-helper-clearfix">
<div>{{searchItem.Identifier}} - {{searchItem.DisplayLabel}}</div>
</div>
</ng-template>
</p-autoComplete>```
答案 0 :(得分:1)
在线找到了一种解决方法,可以解决此问题:https://github.com/primefaces/primeng/issues/2242#issuecomment-440684864
答案 1 :(得分:0)
当你有一个模型类时,你可以定义额外的自定义方法:
export class User {
name: string;
surname: string;
userId: string;
get fullName(): string {
return this.name + ' ' + this.surname + ' (' + this.userId + ')';
}
}
然后在“field”属性中使用:
<p-autoComplete [(ngModel)]="selecteduser" [suggestions]="users" field="fullName" (completeMethod)="searchForUser($event)"></p-autoComplete>