在 Ext JS 中搜索模式
Posted
技术标签:
【中文标题】在 Ext JS 中搜索模式【英文标题】:Searching for a pattern in Ext JS 【发布时间】:2012-03-29 23:52:30 【问题描述】:我有一个包含某些记录的网格和一个上面的文本字段。文本字段与网格相连,因此每次有 keyup 事件时,它都会进入过滤函数,以便仅显示包含用户输入的字符的那些记录。问题是现在它只匹配来自记录字符串名称的起始字符,但是 id 喜欢它能够过滤所有那些包含在记录字符串名称中任何位置键入的字符的记录。
截图:- http://imgur.com/a/qvIHO
第一张图片显示记录,第二张显示当我输入“c”时过滤的结果,第三张显示当我按下“p”时它不会返回任何结果,但是我希望它返回“GPL 产品"和"报告期间",因为它们都包含'p'。
这是代码:-
onDimensionFilterTextBoxKeyUp: function (filterTxtBox, evntObj, eOpts)
var dimStore = this.getDimensionStoreStore();
//get new value
var searchValue = filterTxtBox.getValue();
//var regex = /searchValue*/;
//clear previous search value
dimStore.clearFilter();
if (!Ext.isEmpty(searchValue))
//load filtered data
dimStore.filter('DimensionName', searchValue);
我尝试使用 /searchValue*/ 创建一个正则表达式模式,但使用它只会破坏过滤器,甚至不会返回单个结果。
【问题讨论】:
【参考方案1】:我知道上面的那些答案是旧的,但也许可以帮助某人。
store.filter(
anyMatch: true,
exactMatch: false,
property: valor_property,
value: valor
);
【讨论】:
【参考方案2】:试试这个:
re = new RegExp(searchValue, ignoreCase ? 'i' : '');
store.filter(field, re);
【讨论】:
【参考方案3】:您只需要指定不区分大小写的搜索。
dimStore.filter('DimensionName', searchValue, true, false);
【讨论】:
以上是关于在 Ext JS 中搜索模式的主要内容,如果未能解决你的问题,请参考以下文章