如果select为multiple = false,则可以正常工作。如果我们将其更改为multiple = true,则绑定将停止工作。
http://jsfiddle.net/6Evrq/163/
App = Ember.Application.create();
App.Router.map(function () {
// put your routes here
});
App.IndexController = Ember.ObjectController.extend({
selectedServiceFlavours: Ember.computed.defaultTo('serviceFlavours.firstObject.myvalue'),
serviceFlavours: function(){
return [
{name: "1 (1)", myvalue: "1"},
{name: "2 (2)", myvalue: "2"},
{name: "3 (3)", myvalue: "3"}
];
}.property(),
});
选择:
{{view Ember.Select content=serviceFlavours optionLabelPath="content.name" optionValuePath="content.myvalue" value=selectedServiceFlavours multiple=true }} selected: {{selectedServiceFlavours}}
答案 0 :(得分:0)
由于多重选择不支持value属性,因此必须像在小提琴中那样使用selection
属性:
{{view Ember.Select content=serviceFlavours optionLabelPath="content.name"
optionValuePath="content.myvalue" selection=selectedServiceFlavours multiple=true}}
为了让您选择的选项在内容更新时返回默认值,您需要将正确的参数传递给计算属性,如下所示:
selectedServiceFlavours: function () {
return [this.get('serviceFlavours.firstObject')];
}.property('serviceFlavours')
这样,Ember知道在selectedServiceFlavour
更改时更新serviceFlavours
。
这是您更新的小提琴:http://jsfiddle.net/taLgt1md/5/