2017-10-04 88 views
1

這是.htmlAngular2 ng-selector不按字母順序過濾。

<ng-selector 
       name="company" 
       [(ngModel)]="company_selected" 

       [formControl]="loanApplyForm.controls['company']" 
       (loadValues)="fetchHLCompany($event)" 
       id-field="id" label-field="name" 
       [options]="company_values" 
       allow-creation="true" 
       placeholder="Search your company"> 
</ng-selector> 

我的問題採用NG-選擇是,如果我輸入一個值,首先它會顯示添加。我想要求僅在類型值不在列表中時添加。我刪除了允許創建,然後它不問。但如果它不在列表中,我想要添加。 接下來的問題是它不按字母順序搜索。 請幫幫我。提前致謝。

回答

0

如果我正確理解你,那麼你可以這樣做:

<ng-selector 
       name="company" 
       [(ngModel)]="company_selected" 

       [formControl]="loanApplyForm.controls['company']" 
       (loadValues)="fetchHLCompany($event)" 
       id-field="id" label-field="name" 
       [options]="company_values" 
       allow-creation="checkAddNewItem()" 
       placeholder="Search your company"> 
</ng-selector> 

你的函數:

checkAddNewItem() { 
    return !company_values.filter(item => item.includes(company_selected)).length; 
} 

在這個函數中,我們檢查一些數組值包含一些估算值。如果任何包含這個詞或字符它返回true,並允許添加此值。

回答下一個問題。如果你想要的選項列表將被排序。您需要在組件中對它進行排序。當你得到它。

company_values.sort((a, b) => a.localeCompare(b));