1

FlexでBorderContainerクラスを拡張してカスタムコンポーネントを作成しています。メインアプリケーションで使用するときに、タグセット内に次のような追加のコンテンツを配置できるようにしたいと思います。

<components:CustomComponent title="Hello">
    <s:Label text="If you have one enter it below:"/>
    <mx:Spacer height="15" />

    <s:HGroup>
        <s:TextInput width="250"/>
        <s:Button label="Submit"/>
    </s:HGroup>
</components:CustomComponent>

これは問題なく機能しますが、コンポーネント定義内にa<s:Label/>やスタイリングなどの追加機能があり、使用すると上記のタグセット内のコンテンツに置き換えられます。

タグセット内に何も入れないと、元々コンポーネントにあったコンテンツは置き換えられません。

コンポーネントを使用するときに、毎回置き換えるのではなく、コンポーネント内に追加のコンテンツを追加するだけの方法はありますか?

お時間をいただきありがとうございます!

4

1 に答える 1

1

「単に」ではなく、回避する必要があります。ソースコード付きのサンプルアプリを含む、残酷な詳細が記載されたブログ投稿は次のとおりです。http ://www.munkiihouse.com/?p=37 (ステップ3)

要約すると、デフォルトの「ダミー」プロパティに設定されている子コンポーネントをインターセプトするようにクラスをスクリプト化し、後でそれらを「メイン」プロパティ/コンテナに追加します。

主なプロパティは、カスタムコンポーネント定義に既存の要素があるプロパティです。ダミープロパティは、コンポーネントインスタンスが要素を追加するデフォルトのプロパティです。

幸運を。

于 2012-04-14T01:05:28.367 に答える