ion-searchbar enter触发自定义事件

时间:2019-08-27 00:00:16

标签: angular typescript ionic-framework ionic4

我有一个搜索栏组件,大多数情况下都可以使用。我的html已设置

<ion-searchbar [(ngModel)]="searchTerm" placeholder="Search" 
    (ionInput)=searchTermChange()>
</ion-searchbar>

我的组件大致如下:

@Input() settings = new SearchSettings();
@Output() search = new EventEmitter<any>();

searchTerm = '';
searchDelayTimer: any;

constructor() { }

searchTermChange() {
  clearTimeout(this.searchDelayTimer);
  this.searchDelayTimer = setTimeout(() => {
    this.search.emit(this.searchTerm);
  }, this.settings.searchDelayMS);
}

完成输入后,组件将自动搜索一秒钟左右。但是,当我按下搜索栏内的Enter键时,我的searchTerm填充了

{"isTrusted":true}

更奇怪的是,即使没有触发SearchTermChange,我的过滤器也发生了变化。

这就是我使用过滤器的方式:

<app-search (search)="this.config.filter=$event"></app-search>

即使我未触发输入搜索事件,为什么仍会触发搜索事件?

0 个答案:

没有答案