我想使用其他模型的类别自动填充下拉列表。它显示但默认值不起作用。以下是两种模式:
App.Task = DS.Model.extend({
category_id : DS.attr('number'),
title : DS.attr('string'),
...
category : DS.belongsTo('category', { async : true })
});
App.Category = DS.Model.extend({
name : DS.attr('string'),
...
tasks : DS.hasMany('task', { async : true })
});
这是我的路线:
App.Router.map(function () {
this.resource('tasks', { path : '/tasks'}, function () {
this.resource('task', { path: '/:task_id' }, function( ) {
this.route('edit');
});
...
});
...
});
这是控制器:
App.TaskController = Ember.ObjectController.extend({
isEditing: false,
needs: ['categories'],
categoriesDropdown : function() {
return this.store.find('category');
}.property(),
...
});
我有一个按钮可以在编辑模式之间切换。在编辑模式下,将填充下拉列表,但默认值不是。我使用了Ember检查器,值绑定正在工作'因为如果我选择一个选项,category_id也会改变。
{{view Ember.Select contentBinding="categoriesDropdown"
optionValuePath="content.id" optionLabelPath="content.name"
valueBinding="category_id" class="form-control select-chosen"
prompt="No category selected"}}
我也尝试将其直接绑定到类别,但是在加载时类别设置为null,如果我尝试更改选项,则类别会更改,但选择选项不会更改。
{{view Ember.Select contentBinding="categoriesDropdown"
optionValuePath="content.id" optionLabelPath="content.name"
selectionBinding="category" class="form-control select-chosen"
prompt="No category selected"}}
绑定正在运行,但选择/下拉列表未更新。
答案 0 :(得分:0)
试试这样:
{{view Ember.Select content=categoriesDropdown
optionLabelPath="content.name"
optionValuePath="content.id"
classNames=["form-control","select-chosen"]
prompt="No category selected"
selection=selectedCategory}}
然后,您应该能够选择当前选择作为控制器的selectedCategory
属性。