【问题标题】:Ember js select default value not workingEmber js选择默认值不起作用
【发布时间】:2014-08-21 23:00:59
【问题描述】:

我想使用其他模型的类别自动填充下拉列表。它出现了,但默认值不起作用。以下是两种型号:

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"}}

绑定正在工作,但选择/下拉菜单未更新。

【问题讨论】:

    标签: javascript ember.js


    【解决方案1】:

    试试这样:

    {{view Ember.Select content=categoriesDropdown
                    optionLabelPath="content.name"
                    optionValuePath="content.id"
                    classNames=["form-control","select-chosen"]
                    prompt="No category selected"
                    selection=selectedCategory}}
    

    然后您应该能够选择当前选择作为控制器的selectedCategory 属性。

    【讨论】:

    • 我的绑定工作正常,因为我可以看到 Ember Inspector 上的值更改。这里的问题是,在加载时,category_id 设置为 null。因此,用户每次编辑任务时,都必须重新输入类别。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-07
    • 1970-01-01
    • 2019-02-21
    • 1970-01-01
    • 1970-01-01
    • 2020-10-03
    • 1970-01-01
    相关资源
    最近更新 更多