首页 文章

Ion-SearchBar无法正常工作

提问于
浏览
2

我有一个数组,我用来填充,我正在使用离子搜索栏,所以用户可以搜索列表上的项目但问题是当用户退格或删除他们搜索列表的内容时没有回到原来的状态

代码如下:

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

过滤功能:

filterItems(searchTerms){
    return this.categories.filter((item)=>{
      return item.category_name.toLowerCase().indexOf(searchTerms.toLowerCase())>-1;
    })

    setFilteredItems(){
        this.categories = this.filterItems(this.searchTerm);
    }
}

2 回答

  • 1

    试试这段代码:

    //Maintain a copy of data on which needs a search
    this.searchListCopy = JSON.parse(JSON.stringify(this.categories));
    
    protected search = () => {
        this.resetChanges();
    
        this.categories = this.categories.filter((item)=>{
            return item.category_name.toLowerCase().indexOf(searchTerms.toLowerCase())>-1;
        })
    };
    
    protected resetChanges = () => {
        this.categories = this.searchListCopy;
    };
    

    HTML将如下:

    <ion-searchbar class="searchIcon" [(ngModel)]="searchKey" [showCancelButton]="false" (ionInput)="search()" (ionClear)="resetChanges()">
    </ion-searchbar>
    
  • 0

    单击退格按钮时,会触发另一个名为 ionClear 的输出属性 .

    你可以像这样使用它:

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

相关问题