[英]load drop down values alphabetic order angular 6
我正在尝试按字母顺序加载下拉列表。 目前,我使用唯一值管道进行下拉。 我如何添加另一个管道以获得字母顺序。
<select class="form-control fix-dropdown" required
(change)="batchSorceList();"
[ngClass]="{'is-invalid':glheaderform.submitted && orgname.invalid}"
#orgname="ngModel" [(ngModel)]="orgNameModel.orgName"
name="orgName">
<option value="undefined" disabled="true">--Select--</option>
<option *ngFor="let bank of orgNameModel | unique ">{{bank.orgName}}</option>
</select>
作为Angular的最佳做法,您不应使用OrderPipe
如果要基于名称对项目进行排序,请使用纯javascript排序功能,如下所示
sortBy(prop: string) {
return this.orgNameModel.sort((a, b) => a[prop] > b[prop] ? 1 : a[prop] === b[prop] ? 0 : -1);
}
在您的HTML中
<option *ngFor="let bank of of filterBy('orgName')"| unique ">{{bank.orgName}}</option>
使用orderBy
对选择框进行排序
<option *ngFor="let bank of orgNameModel | unique | orderBy : 'your column name' ">{{bank.orgName}}</option>
使用sort函数实现类似这样的管道(请参见此处: https : //stackblitz.com/edit/angular-d17atb )-
@Pipe({name: 'sortBy'})
export class SortByPipe implements PipeTransform {
transform(value: any[]) : any[] {
value.sort(function(a,b){
let alc = a.toLowerCase(),
blc = b.toLowerCase();
return alc > blc ? 1 : alc < blc ? -1 : 0;
});
console.log(value);
return value;
}
}
和HTML将像-
<li *ngFor="let value of list | sortBy">{{value}}</li>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.