直観的には、select.set("store", store)
すべてのウィジェットがdojo/Stateful
.
select.setStore(store, selectedValue, fetchArgs)
とにかく、 (驚くべきことに)非推奨ではなく機能する方法があります。
dijit/form/Select
ストアなしで定義:
<select id="select1" data-dojo-type="dijit/form/Select"></select>
それにストアを割り当てます。
require([
"dojo/ready",
"dijit/registry",
"dojo/store/Memory",
], function(
ready, registry, Memory
) {
ready(function() {
var store1 = new Memory({
idProperty: "value",
data: [
{ value: "AL", label: "Alabama" },
{ value: "AK", label: "Alaska" },
{ value: "AZ", label: "Arizona" }
]
});
var select1 = registry.byId("select1");
select1.set("labelAttr", "label");
select1.setStore(store1, "AZ");
});
});
jsFiddle で動作を確認してください: http://jsfiddle.net/phusick/ZmsY V/
前述のものにいくつかのUXシュガーを追加するdijit/form/Select
disabled
と、単一のオプション (例: Loading...)とその最終的な目的で作成されwidth
ます。
<select
id="select1"
data-dojo-type="dijit/form/Select"
data-dojo-props="disabled:true"
style="width:150px;"
>
<option>Loading...</option>
</select>
次に、呼び出した後に有効にしsetStore()
ます:
var select1 = registry.byId("select1");
select1.set("labelAttr", "label");
select1.setStore(store1);
select1.set("disabled", false);
この拡張バージョンの作業を参照してください: http://jsfiddle.net/phusick/xdDEm/