7

アクセスするものと同じアイテム配列にあるコンポーネント/フィールドにアクセスする方法、または同じ親アイテム配列にのみあるコンポーネント/フィールドにアクセスする方法を探しています(最後のものは単なるオプションです)。

ExtJS3 では、所有者コンテナーで a を定義するだけでこれは簡単でしたrefが、ExtJS4 ではそのようなものは見つかりませんでした。

またはExt.ComponentQuery()ショートカットを使用できることはわかっていますが、それらはすべて私が探しているものではありません。これは、非常に簡単な方法であるにもかかわらず、一連のコードを実行するだけだからです。はい、ComponentQuery を使用すると、ハードコードされた参照を使用するよりもはるかに安全であるという事実を認識しています。しかし、これを行う他の方法があるかどうかを知りたいだけです。up()down()Ext.getCmp()ref

4

2 に答える 2

11

または、コンテナー内の次の要素を取得する場合は、nextSiblingまたはを使用できますprevSibling。すべてのコンポーネントにこれらのメソッドがあります。DOM 構造を歩き回る手間が少し減ります。また、セレクター引数も使用できます。

それらについては、こちらのドキュメントで説明されています。

于 2012-11-02T17:58:00.673 に答える
6

ここに私が使用したいくつかのトリックがあります:

//lookup by name
formPanel.getForm().findField('state'); 

//lookup using nextSibling/prevSibling in a fieldset or fieldcontainer
myField.ownerCt.nextSibling('textfield[fieldLabel=Description]')

ここでfieldLabelはプロパティを使用してフィールドの選択を絞り込みますが、任意のプロパティを使用できます。したがって、プロパティrefを使用してフィールドを作成すると、それを使用して、ComponentQuery.

于 2012-11-02T20:45:52.043 に答える