0

それが良いタイトルかどうかはわかりません...

ボタンの背後にあるコードを取得して、次のことを行うことができます。

TabBar.activeTab.setTitle("New Tab");

しかし、私は次のようなことをする必要があります:

TabBar.activeTab.items = { title: "New Tab"
};

そのため、最終的にループ内のいくつかのタブ プロパティを自動化できます。

TabBar.activeTab.items = { [key]: [value]
};

構成とアイテムはconstruct()でのみ使用できると考えるのは正しいですか? 上記を行う方法はありますか?ティア。

4

1 に答える 1

0

単純に設定できるか、メソッド呼び出しを適用する必要があるかは、問題のコンポーネントと構成プロパティの実装によって異なります。

ExtJs では、構築時に多くの構成プロパティが解釈されることは間違いありません。一部はレンダリング時に解釈されます。がレンダリングされるExt.Componentと、ほとんどすべてのプロパティに明示的なメソッド呼び出しを正しく適用する必要があります。

一般に、コンポーネントの内部動作を壊さないようにするために、利用可能な場合は、構築時間後に常にメソッド呼び出しを使用してプロパティを変更することをお勧めします。の実装をExt.panel.Panel#setTitle見ると、イベントの発火など、内部で多くのことが行われていることがわかります。

ExtJs 4 構成

Ext 4 では、目的に役立つ明示的な「config」メカニズムが導入されました。しかし、私の理解では、ほとんどの ExtJs コンポーネントは (まだ?) それを使用していません。

'2をご覧ください。ExtJsクラス システム ガイドの「構成」

xtype/config リテラルからオブジェクトを作成する

コンテナに新しいコンポーネントを追加したい場合(例: タブをタブ パネルに追加) は、比較的簡単に実行できます。

([ドキュメント][2]を参照) を使用Ext.ComponentManager#createして、構成リテラルから実際のコンポーネント オブジェクト/インスタンスを作成します。

Ext.container.Container#addは実際にこのメソッドを内部的に呼び出すため、設定オブジェクトをメソッドに渡すだけで済みますadd

パネルからタブを削除または追加する場合、適切なメソッドを呼び出す方法があります。

applyConfig()

もちろん、applyConfig構成を適切なメソッド呼び出しに「変換」することにより、実行時に特定のコンポーネント構成プロパティの変更をサポートする独自のメソッドをいつでも実装できます。

于 2012-09-10T03:38:34.157 に答える