这是.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>
我的问题是,如果我输入一个值,首先它会显示添加。我想要求仅在列表中没有键入的值时添加。我删除了允许创建,然后它没有询问。但是我想要添加它是否不在列表中。 下一个问题是它不是按字母顺序搜索。 请帮我。提前致谢。
答案 0 :(得分: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));