これは作成時に自動的にロードされる ArrayStore (キーワード: data: ds) であるため、動的追加の例はありませんが、プロジェクトには 3 つのリスト ボックスが必要で、最後の 2 つの内容は最初のリスト ボックスの内容を動的にロードするため、最初のリスト ボックスの内容を選択すると、最後の 2 つのリスト ボックスの内容が動的に入力される必要があります。exjts のサンプル作成者は、このような関数を作成していません。バージョン 2.2 の以前の例はインターネット上に見つからなかったので、リスト データを動的に制御する機能を 1 日かけて探しました。 まず、私の方法は公式の方法ではありません。以下は私が思いついたアイデアです。
メソッドの前に、複数選択オブジェクトのストアは次のように定義されています。 🎜>コードをコピーします
} );
(1)var toflowStore = msForm.getForm().findField('toflow').store;名前に基づいた複数選択オブジェクトのストア オブジェクト;
(2) Ext.data.Record オブジェクトの作成、これは私が長い間追加しようと考えていたメソッドであり、あまりにも愚かだったので自分を責めています。 :
コードをコピー
var records = new Ext.data.Record(record);作成した Ext.data.Record オブジェクトを複数選択ストア オブジェクトに追加します。
toflowStore.add(record1);
上記の 3 つの手順を通じて、リスト項目をリスト複数選択に動的に追加できます。具体的な使用方法はサンプルコードのItemSelector.jsにあります。
上記の分析により、multiselectの作成ルールを大まかに見積もることができます。ストア内の属性フィールド: ['value', 'text'] 作成時、システムは属性データをループします: [[123,123]] のコンテンツはオブジェクト オブジェクトとして作成され、そのオブジェクトに書き込まれます。次のコードのようなストア オブジェクト:
コードをコピー
コードは次のとおりです:
this.store.add (record);
}
上記は、extjs のエンジニアが注意深く設計した方法ではないでしょうか。