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の標準的な方法の1つです(ここでは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 grid.store.filter { filterFn:function(record){ return matcher.test(record.get( 'kod'))|| matcher.test(record.get( 'unvan')); } }); } } –
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