【问题标题】:Ionic 2 - How To Edit Searchbar Values ProgrammaticallyIonic 2 - 如何以编程方式编辑搜索栏值
【发布时间】:2017-01-19 06:17:23
【问题描述】:

如何在 Ionic 2 中以编程方式修改离子搜索栏?我搜索了一段时间,没有遇到任何解决它的方法。

我想从 searchview.ts 访问和修改 searchbar 对象的默认方法。 (例如,在 onClear() 内部,调用 onCancel() 并导航到不同的视图)。 这是我的 html 文件中的搜索栏。

<ion-searchbar [showCancelButton]="true" (ionClear)="onClear()">
</ion-searchbar>

我想做类似的事情;

onClear(){
    var searchbar = this.searchbar // reference the search bar in the html file, but how do I get this?
    searchbar.onCancel();
    this.navigateToHome();
}

提前感谢您的帮助!

编辑:添加代码示例。将示例修改为从 onClear() 调用 onCancel(),而不是反之。

【问题讨论】:

  • 你在寻找类似stackoverflow.com/questions/33955880/…的东西
  • 你在说什么搜索栏值??请提供示例代码
  • 只需创建一个具有您想要的功能的自定义组件。我不想破坏框架附带的库存功能
  • 为什么不在 onClear 事件上调用一个方法来导航到不同的视图?
  • @suraj 创建一个自定义组件似乎有点太多的工作,尽管这绝对是一个解决方案。我可以在不创建自定义组件的情况下做到这一点吗?

标签: angular search ionic-framework ionic2 searchbar


【解决方案1】:

我想我不知道如何正确地问这个问题,我应该问你如何从控制器访问 html 中的子组件/视图;

<ion-searchbar #mySearchBar (ionCancel)="onCancel()"></ion-searchbar>

然后像这样访问它;

@ViewChild('mySearchBar') searchbar:Searchbar;

并像这样使用它;

this.searchbar.ionCancel()

整个代码;

import { Component, ViewChild } from '@angular/core';
import { Searchbar } from 'ionic-angular';

export class DictionaryPage {
    @ViewChild('mySearchBar') searchbar:Searchbar;

    constructor(){
         this.searchbar.ionCancel()}
}

【讨论】:

  • 如果您只想将值设置为空白,则无需调用取消事件来设置值。您还可以使用此代码 this.mysearchbarname.setValue(null); 将搜索栏的值设置为 null 将此代码写入构造函数或初始化函数或 ionViewWillEnter 生命周期事件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多