我在我的 Angular 应用程序中使用 ng-select 自动完成来竞标国家名称和国家代码。示例 - 如果我在搜索框中输入结果将是
印度 - IN
在印度尼西亚 - ID
在加载我检索到的所有国家代码列表时,根据知识,它将通过使用 ng-select 的自定义搜索功能来完成。
请检查下面给出的我的代码 -
<ng-select placeholder="Select Countries" class="custom"
[items]="countryList | async"
[multiple]="true"
bindLabel="countryname"
[searchFn]="searchcountry"
(change)="onChange($event)"
[(ngModel)]="selectedCountry">
<ng-template ng-label-tmp let-item="item" let-clear="clear">
<span class="ng-value-label">{{item.countryname}}</span>
<span class="ng-value-icon right" (click)="clear(item)" aria-hidden="true">×</span>
</ng-template>
<ng-template ng-option-tmp let-item="item" let-index="index" let-search="searchTerm">
<span [ngOptionHighlight]="search"> {{item.countryname}} - {{item.countrycode}} </span>
</ng-template>
ngOnInit() {
this.countryList = this.caseService.GetCountryList();
}
searchcountry(term: string, item: any) {
term = term.toLocaleLowerCase();
return item.countrycode.toLocaleLowerCase().indexOf(term) > -1 || item.countryname.toLocaleLowerCase().includes(term);
}
请帮助我如何达到我的最终输出,我现在非常接近,只是我想知道如果国家代码完全匹配,如何排序以达到最高记录。
提前致谢。