搜索栏 - 搜索“输入”键

时间:2017-01-11 18:11:06

标签: ionic2

我对Ionic框架非常陌生 在docs之后我创建了一个像这样的搜索栏:

<ion-searchbar
      [(ngModel)]="searchQuery"
      [showCancelButton]="true"
      (ionInput)="search($event)">
</ion-searchbar>
  

ionInput当搜索栏输入发生变化时,包括已清除。

这可以按预期工作。

但是我想要一个不同的行为。每次输入更改时我都不想触发search($event),但是当用户点击“输入”键或单击按钮时,我找不到发出的output event

这种行为是否有解决方案?

3 个答案:

答案 0 :(得分:25)

您应该能够将Angular 2键盘绑定添加到keyupclick等元素

模板:

<ion-searchbar #q
      [showCancelButton]="true"
      (keyup.enter)="search(q.value)">
</ion-searchbar>

组件TS:

search(q: string) { 
    console.log(q); 
}

答案 1 :(得分:1)

使用Angular的Ionic 5,您必须将ion-searchbar包裹在这样的表单标签中:

<form (ngSubmit)="hideKeyboard()">
  <ion-searchbar (ionChange)="search($event)"></ion-searchbar>
</form>

在使用电容器的组件中:

import { Plugins } from '@capacitor/core';
const { Keyboard } = Plugins;

...

hideKeyboard() {
  Keyboard.hide();
}

当然,您可以使用ngSubmit事件进行搜索,不仅隐藏键盘。

答案 2 :(得分:0)

我能够通过(search)输出事件捕获“ Enter”键单击或“ search”键单击

<ion-searchbar
  (search)="search($event)">
</ion-searchbar>