私は以下の状況に直面しています。Extjs3コンポーネント階層 - すべての子コンポーネントをフェッチする
私はこの formpanel内Iはformpanelの一部である に配置されている再度素子を形成 における別のタブパネルを有する、formpanelを有します。 壮大なものはありません。基本的に formpanelで、それぞれ "サブフォーム"が のタブパネルのタブに含まれています。
これで、ユーザーがツールバーのボタンをクリックすると、各サブフォーム/タブを有効または無効にするコードが追加されました。しかし、無効化されたタブ内のすべてのformelementsをスキップする検証のために、私はtabpanel内の各フォームフィールドを個別に無効にする必要があるため、送信時に検証をスキップします。
これは問題が始まるときです。タブ/サブフォームのいずれかに、別のネストされたフィールドセットを持つフィールドセットがあるとします。 タブ/サブフォームに含まれるすべてのxtype:field要素を取得するにはどうすればよいですか?
だから基本的に私は聞いてるのよ私はコンポーネント階層内の深さが何であれ、タブの子コンポーネントであるすべての成分を取り出すことができる方法のですか?私はすべての子コンポーネントを収集するメソッドを持っているだけで、それらをループし、Ext.isXType( 'field')からtrueを返すものを無効にするのは簡単です...しかし、私はすべてのサブコンポーネントを集める方法がわかりませんコンポーネントへの参照が含まれています。
ドキュメントはこの上の誤解を招くおそれがあります。 「Find ** a ** component ...」と表示されますが、戻り値の型は配列です。あなたはどちらか一方の方法を確認しましたか? – Hemlock
実際にはコンポーネントの配列を返します。それは 'Ext.Container.findBy()'実際には、 'VAR componentsArray = container.findByの結果を返す(関数の(c){trueを返す})、コードを参照して、'も動作するはず:D – Mchl
気にしないで、私はそれが配列を返すことを確認しました。 – Hemlock