1

アイテムのプロパティに基づいて、ExtJS4のストア範囲内のアイテムの要素IDを取得するにはどうすればよいですか?たとえば、私は次のようにストアを取得しています。

var combobox = Ext.ComponentQuery.query('[xtype=mycombobox]')[0];
var items = combobox.getStore().getRange();

ユーザーが他の場所で選択した製品IDに基づいて、コンボボックス内の正しい項目にジャンプしたい:

combobox.select(elementid);

私は私に言わせる論理が欠けています

elementid = items.getWhere('prodid', 'productid'); // Or however its actually done.
4

1 に答える 1

1

これは私が思いついたものであり、実際には2つの別々の呼び出しが必要でした。これが最も効率的な方法かどうかはわかりませんが、機能しているようです。

まず、値と等しいproductidを持つモデルを取得する必要があります。

var model = combobox.getStore().findRecord('productId', value);

次に、ストア全体でそのモデルのインデックスが何であるかを把握する必要があります。

var index = combobox.getStore().indexOf(model);

次に、インデックスを取得して、コンボボックスに適用します。

combobox.select(index);
于 2012-11-19T20:23:40.130 に答える