如何从extJS中的存储中筛选数据?
请参阅下面的代码,我用于过滤数据如何从extJS中的存储中筛选数据?,extjs,sencha-touch,Extjs,Sencha Touch,请参阅下面的代码,我用于过滤数据 listeners: { keyup: function (e, t, eOpts) { var text = e.getValue(); var s = Ext.getStore('TempSensorDetailsStore'); s.clearFilter(); if (text) { s.filterBy(function (rec) {
listeners: {
keyup: function (e, t, eOpts) {
var text = e.getValue();
var s = Ext.getStore('TempSensorDetailsStore');
s.clearFilter();
if (text) {
s.filterBy(function (rec) {
var str = (rec.get('vehicleNo')).toLowerCase();
var res = str.indexOf(text.toLowerCase());
if (res == 0) {
return true;
}
});
} else {
s.clearFilter();
}
}
}
上面的代码过滤数据,但不是按照我的期望
搜索结果显示的记录仅与车辆编号的第一个字母匹配…如果车辆编号中存在该字符,则应返回车辆编号
例如。
车辆编号Abc-37046,如果用户搜索37046,则它也会返回车辆I got Solution
只是需要更改代码
if (res >- 1)
而不是
if (res == 0)
给定的示例是您的需求或当前行为?
indexOf
为您提供字符串出现的第一个索引(else-1)。您正在显式检查字符串开头的第一个索引。那么我要做的是更改代码?@ankit chaudhary,示例为当前行为。如果车辆编号为Abc-37046,并且用户搜索37046,则我也想返回车辆,但上述代码的行为与给定示例不同