我有2个选择,第二个(多个)取决于第一个(简单)
第一个:
{{view Ember.Select content=siteGroups selection=selectedSiteGroup}}
第二个:
{{view Ember.Select content=sites optionLabelPath="content.name" value=selectedSite multiple=true selection=selectedSiteDefault}}
因此,selectedSiteGoup(选择2)会更改第一个内容。
我已设置第二个的默认值:
selectedSiteDefault: function(){
return this.get('sites.firstObject');
}.property('selectedSiteGroup')
它可以工作,但是当内容发生变化时(由于第一次选择),它不会将任何值设置为默认值。
我怎么能解决这个问题?
答案 0 :(得分:1)
Here is a demo。第二个选择框的内容基于第一个选择框。
第二个选择框的默认值是最后一个项目。
var continents = ['America', 'Europe', 'Asia'];
var countries = {
'America': ['Texas','New York'],
'Europe': ['Estonia','Germany'],
'Asia': ['India','China']
};
App = Ember.Application.create();
App.Router.map(function() {
// put your routes here
});
App.IndexRoute = Ember.Route.extend({
model: function() {
return {
'continents': continents,
'countries': countries
};
}
});
App.IndexController = Em.ObjectController.extend({
continent: 'Asia',
country: function() {
return this.get('countries.'+this.get('continent'));
}.property('continent'),
countrySel: function() {
return this.get('country.lastObject');
}.property('country.[]')
});
{{view Ember.Select content=content.continents valueBinding="continent"}}
{{view Ember.Select content=country selection=countrySel}}