2017-06-16 13 views
0
var grid = Ext.getCmp('grid'); 

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

これらのコード行を私に説明できる人はいますか?Ext JS正規表現とgetcmp

+0

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

答えて

1

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の標準的な方法の1つです(ここではhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp参照)。

Ext.String.escapeRegexExt.String.escapeRegex(abs-$dxjksgg)abs\-\$dxjksgg

+0

ありがとうございました:) –

+0

問題なく、IDを設定してExt.getCmp()を使用することに注意してください最高の選択肢ではありません。 'Ext.ComponenQuery.query()'を使ってセレクタ(CSSセレクタなど)を使ってコンポーネントをつかむことができます。 –

+0

実際にはonTextFieldChangeというコードでした:function(field、newValue、oldValue、options){ var grid = Ext.getCmp( 'grid'); grid.store.clearFilter(); (newValue){ var matcher = new RegExp grid.store.filter { filterFn:function(record){ return matcher.test(record.get( 'kod'))|| matcher.test(record.get( 'unvan')); } }); } } –