生成Ember.js下拉列表默认选择一个选项

时间:2012-05-21 06:10:45

标签: ember.js

以下是使用值默认下拉列表的代码段。

App.selectedOption.set("option","1");

但是Don没有看到下拉列表因默认值onload而被选中。 这可能是什么问题?

Ember下拉列表

<script type="text/x-handlebars">
    {{#view App.SortSampleView  }}
      {{view Ember.Select
             contentBinding="App.viewSampleController"
             selectionBinding="App.selectedOption.option"
             optionLabelPath="content.name"
             optionValuePath="content.id" class="dropdown"
         prompt="Select..." }} 
    {{/view}}    
</script>

选择绑定的片段:

App.selectedOption= Ember.Object.create({option:null});

1 个答案:

答案 0 :(得分:3)

这是一个已知问题,请参阅问题跟踪器中的#482。讨论指出,不支持通过设置valuePath来设置所选选项,而是必须将特定对象设置为selected。见http://jsfiddle.net/pangratz666/NgXpF/

<强>车把

<script type="text/x-handlebars">
      {{view Ember.Select
             contentBinding="App.viewSampleController"
             selectionBinding="App.selectedOptionController.option"
             optionLabelPath="content.name"
             optionValuePath="content.id" class="dropdown"
         prompt="Select..." }} 
</script>​

<强>的JavaScript

App.viewSampleController = Ember.ArrayProxy.create({
    content: [],
    addObject: function(id, name){
        this.pushObject(Ember.Object.create({
            id: id,
            name: name
        }));
    }
});

App.selectedOptionController = Ember.Object.create({
    option: null
});

App.viewSampleController.addObject(1, 'first');
App.viewSampleController.addObject(2, 'second');
App.viewSampleController.addObject(3, 'third');

var second = App.viewSampleController.objectAt(1);
App.selectedOptionController.set('option', second);