var grid = Ext.getCmp('grid');
var matcher = new RegExp(Ext.String.escapeRegex(newValue), "i");
是否有人可以向我解釋這些代碼行?Ext JS正則表達式和getcmp
var grid = Ext.getCmp('grid');
var matcher = new RegExp(Ext.String.escapeRegex(newValue), "i");
是否有人可以向我解釋這些代碼行?Ext JS正則表達式和getcmp
Ext.getCmp
是ExtJS的一種document.getElementById()
。
你創建了一個元素:
Ext.create('Ext.panel.Panel',{
title: 'Foo',
html: 'Bar',
id: 'mytest',
renderTo: document.body
});
然後運行Ext.getCmp('mytest')
將返回該面板的實例,所以你可以做的事情吧,比如:
var panel = Ext.getCmp('mytest');
test.setTitle('Hello');
創建一個新的正則表達式無關使用ExtJS,這是Javascript的標準方式(其中之一)來創建正則表達式(請參閱:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp)。
Ext.String.escapeRegex
將格式化的方式是有效的正則表達式中使用的字符串,以便Ext.String.escapeRegex(abs-$dxjksgg)
將返回abs\-\$dxjksgg
謝謝兄弟:) –
沒問題,請注意,設置ID和使用Ext.getCmp()是不是最好的選擇。嘗試使用'Ext.ComponenQuery.query()',以便您可以使用選擇器(如CSS選擇器)來抓取組件。 –
它實際上是一個代碼onTextFieldChange:function(field,newValue,oldValue,options)var grid = Ext.getCmp('grid'); grid.store.clearFilter(); (newValue)var matcher = new RegExp(Ext.String.escapeRegex(newValue),「i」); (record.get('kod'))| gridcher.filter }); } } –
退房ExtJS的」 [API](https://docs.sencha.com/extjs/ 6.2.0/classic/Ext.html#method-getCmp)[docs](https://docs.sencha.com/extjs/6.2.0/classic/Ext.String.html#method-escapeRegex)和Mozilla的[MDN ](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp) – scebotari66