1

コンポーネントのaddAfterまたはinsertAfterは実際に可能ですか?

ドキュメントは.add()について続き、コンテナの最後に何かをスローしますが、フォーム内のフィールドをループして、各フィールドの後にエラーを表示しています。したがって、これらの後に新しいコンポーネントを追加する必要があります。

これらのコンポーネントの実際の要素でのみ可能であるように思われますか?何かのようなもの:

errorElement = Ext.create('Ext.Container', {
    //stuff
});
errorElement.element.insertAfter(field.element);

これは問題ありません。見た目は問題ありませんが、次のようにすると、Domのものがある場所にコンポーネントが存在しないように見えます。

Ext.Viewport.getActiveItem().query('panel'); // []
Ext.ComponentQuery.query('panel'); // Ext.apply.create.Class

この種のことについて質問しているのは私だけだと言わないでください。これがドキュメントのどこにも強調表示されていないのはなぜですか。

4

1 に答える 1

1

Container.insert()メソッドを使用できますInserts a Component into this Container at a specified index

ただし、エラーコンポーネント(コンポーネント?要素ではなくコンポーネント?)を挿入することは、良い考えとは思えません。デフォルトのフォームフィールドには、エラーを表示するための要素がすでに含まれており、CSSを使用してその外観を微調整できます。

于 2012-07-03T14:00:08.167 に答える