首页 > 解决方案 > ng-select中使用addTag时如何调用函数

问题描述

我在角度使用 ng-select 来加载列表。当搜索该项目是否不可用时,我使用 addTag 将项目添加到数组中。但是该值未设置为 ng-select ,该函数也被调用但无法关闭添加标签条。下面是代码

items = [
  {id: 1, name: 'Python'},
  {id: 2, name: 'Node Js'},
  {id: 3, name: 'Java'},
  {id: 4, name: 'PHP', disabled: true},
  {id: 5, name: 'Django'},
  {id: 6, name: 'Angular'},
  {id: 7, name: 'Vue'},
  {id: 8, name: 'ReactJs'},
  
];

addNewCompany(term:string){
  console.log(term);
  this.selected=term;
 
}

下面是html代码。如文档中所述,我已在 addTag 属性中调用该函数。但它没有将值绑定到输入框。

<div class="form-group col-md-6 mt-2"> 
                <label for="company_name" class="modal_class ml-2"><i
                        class="uil uil-phone mr-2"></i>Company Name</label>
                        <ng-select [items]="items"
                        bindLabel="name"
                        placeholder="Select item"
                        appendTo="body"
                        [(ngModel)]="selected"
                        [addTag]="addNewCompany"
                        addTagText="Add Company"
                        [closeOnSelect]="true"
                        class="form-control form-control-select validate_input"
                        >
                       </ng-select>
              </div>

标签: angularbindingtagsangular-ngselect

解决方案


尝试这样做

addNewCompany = (term:string) =>{
   console.log(term);
   this.selected=term;
     
}

推荐阅读