如何使此列表不区分大小写并在 primeng 下拉列表中按字母顺序列出?

问题描述 投票:0回答:1

例如我有一个数组的对象如下:

const persons = [
   {value: "Jason"},
   {value: "Ana"},
   {value: "iron"},
]

目前的结果是:

如何使此列表不区分大小写并在 primeng 下拉列表中按字母顺序列出?

我已经尝试过 primeng 下拉列表中的

sortField
属性 - 没有运气。

<p-dropdown
    [options]="persons"
    optionLabel="value"
    sortField="compareFn()"
    [(ngModel)]="selectedPerson"
></p-dropdown>
compareFn(a: any, b: any): number {
    if (
      a.value.toLowerCase() > b.value.toLowerCase()
    ) {
      return 1;
    } else if (a.value.toLowerCase() < b.value.toLowerCase()) {
      return -1;
    } else {
      return 0;
    }
  }
angular dropdown primeng
1个回答
0
投票

PrimeNG Dropdown 文档,我没有看到

sortField
可用。

您只需在组件中进行排序即可。

ngOnInit() {
  this.persons.sort(this.compareFn);
}
<p-dropdown
  [options]="persons"
  optionLabel="value"
  [(ngModel)]="selectedPerson"
></p-dropdown>

演示@StackBlitz

© www.soinside.com 2019 - 2024. All rights reserved.