Ext JS 正则表达式和 getcmp

Ext JS regex and getcmp

var grid = Ext.getCmp('grid');

var matcher = new RegExp(Ext.String.escapeRegex(newValue), "i");

有谁能给我解释一下这几行代码吗?

Ext.getCmp 是 ExtJS 的 document.getElementById()

您创建了一个元素,如:

Ext.create('Ext.panel.Panel',{
    title: 'Foo',
    html: 'Bar',
    id: 'mytest',
    renderTo: document.body
 });

然后 运行 Ext.getCmp('mytest') 将 return 该面板实例,以便您可以对其执行操作,例如:

var panel = Ext.getCmp('mytest');
test.setTitle('Hello');

创建新的 RegExp 与 ExtJS 无关,它是 Javascript 创建正则表达式的标准方法(之一)(参见此处:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp)。

Ext.String.escapeRegex 将以在正则表达式中有效使用的方式格式化字符串,因此 Ext.String.escapeRegex(abs-$dxjksgg) 将 return abs\-$dxjksgg