javascript - 清除 ionic 搜索栏中的文本

标签 javascript html angularjs ionic-framework ionic2

我有一个搜索栏

<div id="search"><ion-searchbar [(ngModel)]="searchQuery" (change)="onChange($event)" (ionClear)="onCancel($event)" (ionInput)="onInput($event)" debounce="1"></ion-searchbar></div>

如何从 ts 文件中清除用户输入的文本?

这是试图清除搜索栏文本的 ts 文件函数。

.
private searchQuery: string = null;
.

  subscribeEvents() {
    this.events.subscribe('mapFilter:update', (data) => {
      this.employeeModel = data[0].employeeModel;
      if (data[0].fromClearFilters) {
        this.searchQuery = '';
      }
      this.getMarkers();
      this.getPosition();
    });
  }

this.searchQuery = ''; 确实重置了过滤器,但文本仍然存在

谢谢

我正在使用 Ionic 2

最佳答案

首先,为您的 HTML 元素添加一个标识符

<ion-searchbar #mySearchbar ...>

然后,导入ViewChild:

import { ViewChild } from '@angular/core';

然后,导入Searchbar

import { Searchbar } from 'ionic-angular';

将其添加为属性:

@ViewChild('mySearchbar') searchbar: Searchbar;

然后,触发 onInput 事件并传递一个空标识符(这样您的 onInput 事件监听器就知道是您了)

this.searchbar.clearInput(null);

关于javascript - 清除 ionic 搜索栏中的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39151848/

相关文章:

javascript - 检查选择的标签是否已得到答复

javascript - react-bootstrap-table - multiColumnSearch - 需要两列中的数据而不是全部匹配

html - 我想一次只显示列表中的 2 个名字,然后单击下一个按钮,出现 2 个名字,但有一个错误

html - 隐藏在其他容器后面的容器

javascript - 想要在另一个div ng-if中引用ng-repeat中的变量。 AngularJS

javascript - Angular Directive 未运行且 templateUrl 未显示

javascript - 如何使用 JavaScript 代码在 if 条件下使用函数方法?

javascript - Three.js 非全屏时的光线转换

html - 无法在 div 内垂直对齐 div?

angularjs - Angular : duplicate in calling controller's function