Angular2 NG选择器不会根据字母顺序进行过滤



这是.html

中使用的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-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));

最新更新