在输入至少2个字符的ng-select

时间:2019-06-30 14:59:34

标签: angular

我在项目中使用ng-select进行搜索。我希望仅在用户键入两个以上字符时显示列表。我已经尝试了ng-select的搜索,更改和打开事件,但是没有得到用户键入的实际术语。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:1)

此问题的解决方案是通过其labelForId属性为ng-select组件提供ID,并将其作为ts文件中的HTML元素获取。如果您获得此HTML元素的值,则该术语将为用户键入的术语。并且如果该术语少于2个字母,则必须使用ngSelect的close()事件关闭下拉菜单。

component.html文件:

<ng-select #Selecter [multiple] = "true" typeToSearchText = "'Please type'" labelForId="ngSelectId" (keyup) = "openDropdown()" (open) = "openLocationsDropdown()"
[items] = "selectOptions"></ng-select>

component.ts文件:

@ViewChild('Selecter') ngselect: NgSelectComponent;

openLocationsDropdown() {
         let element = (document.getElementById('ngSelectId') as HTMLInputElement);
             let component = this.ngSelect;
         let term = element.value;
         if (this.term.length < 2){
              component.close();
         }
         element.value = this.term;
  }