【问题标题】:Extjs 5 grid filter + RegExpExtjs 5 网格过滤器 + 正则表达式
【发布时间】:2015-08-10 14:41:42
【问题描述】:

我有一个带过滤器的简单网格。如果我在过滤器上使用正则表达式,则过滤器不起作用。如果我不在过滤器上使用正则表达式,那么过滤器正在工作。:-) 我的代码的错误在哪里?

这是我的正则表达式 + 过滤器代码:

我的简单文本字段:

{
  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; }); },
}

【问题讨论】:

    标签: javascript regex extjs filter grid


    【解决方案1】:

    您的 val 变量是 RegExp 对象,而不是字符串。您正在尝试将字段值与RegExp 对象进行比较:)

    试试:

    store.filterBy(function(rec) {
        return val.test(rec.get('first_name')) || val.test(rec.get('last_name'));
    })
    

    【讨论】:

      猜你喜欢
      • 2015-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-12
      相关资源
      最近更新 更多