2015-08-10 5 views
0

У меня есть простая сетка с фильтром. Если я использую regexp на фильтре, фильтр не работает. Если я не использую regexp на фильтре, тогда фильтр работает. :-) Где ошибка моего кода?Extjs 5 сетчатый фильтр + RegExp

Это мой регулярное_выражение + фильтр код:

Мой простой TextField:

{ 
    xtype: 'textfield', 
    id: 'users_gridfilter', 
    name: 'users_gridfilter', 
    size: 20 
} 

И у меня есть кнопка слушателей:

listeners: { 
    click: function(){ 
    var store = Ext.getCmp('users').getStore(), 
    val = new RegExp(Ext.getCmp('users_gridfilter').getValue(), "i"); 
    store.filterBy(function(rec){ 
     return rec.get('first_name') === val || 
       rec.get('last_name') === val; }); }, 
} 

ответ

0

Ваш val переменная является RegExp объект, а не строка. Вы пытаетесь сравнить значения полей с RegExp объектами :)

Try:

store.filterBy(function(rec) { 
    return val.test(rec.get('first_name')) || val.test(rec.get('last_name')); 
}) 
Смежные вопросы