0

我在我的选项卡面板中添加了搜索图标,该选项卡面板的导航视图包含停靠在顶部的工具栏中的搜索字段。我的问题是我想从搜索字段中获取值并将其发送到商店以查找匹配项。如果有任何匹配项,我希望这些项目显示在搜索字段工具栏下方的列表中。我做了很多搜索,但找不到任何对我有帮助的相关示例。任何形式的帮助将不胜感激。

这是我的看法..

items: [{
    xtype: 'toolbar',
    docked: 'top',
    style: 'background:darkgray',
    items: [{
            xtype: 'searchfield',
            placeHolder: 'Search... '
    }, {
            xtype: 'button',
            iconCls: 'search',
            iconMask: true,
            ui: 'confirm',
            action: 'search-app'


    }]
 }, {//here I want to show my filtered data 
    xtype: 'list',
    itemId: 'searchlist',
    store: 'SearchItemStore',
    onItemDisclosure: true,
    emptyText: 'No data found!',
    itemTpl: '{Name}'
 }]

在我的控制器中,我正在调用按钮并添加如下功能:

mySearchFunction: function(element , e, eOpts) { 
    var searchPattern = this.getSearchFieldAction().getValue(); 
    var store = Ext.getStore('ProductStore');
    // here I want to set the param that has to send to the store proxy..I am really not sure how this works 
    store.find(fieldName, value, [startIndex], [anyMatch], [caseSensitive], [exactMatch] ); 
}
4

1 回答 1

0

您正在寻找的是store.filter()方法。

store.filter('fieldToSearch', searchPattern);

请参阅此处的文档:http: //docs.sencha.com/touch/2.2.1/#!/api/Ext.data.Store-method-filter

另一种选择是store.filterBy(),它将函数作为参数。如果函数返回true,则该记录将包含在过滤存储中。文档:http ://docs.sencha.com/touch/2.2.1/#!/api/Ext.data.Store-method-filterBy

于 2013-07-24T18:03:23.450 回答