在 Ember 中,可以使用视图的multiple
属性创建多选Ember.Select
(例如在这篇文章中)。
我想要做的是用多个“正常”选择替换多选,这些选择都绑定到同一个数组。假设我有两个单选,那么两者都应该绑定到一个数组fooArray
。当我在第一个选择中选择foo并在第二个选择中选择bar时,fooArray
应该是['foo', 'bar']
.
关于如何做到这一点的任何想法?
亲切的问候,马吕斯
在 Ember 中,可以使用视图的multiple
属性创建多选Ember.Select
(例如在这篇文章中)。
我想要做的是用多个“正常”选择替换多选,这些选择都绑定到同一个数组。假设我有两个单选,那么两者都应该绑定到一个数组fooArray
。当我在第一个选择中选择foo并在第二个选择中选择bar时,fooArray
应该是['foo', 'bar']
.
关于如何做到这一点的任何想法?
亲切的问候,马吕斯
您可以为每个选择设置一个 selectionBinding 和一个计算属性 taha 使数组...确保有更好的方法来做到这一点...这取决于您处理的选择数量,因为在本例中,返回的数组每次得到它时都会重新计算,这不能很好地扩展
App.SelectionController = Ember.ObjectController.extend({
select1Value:null,
select2Value:null,
select3Value:null,
selectedArray:function{
return Ember.Array(this.get('select1Value'),this.get('select2Value'),this.get('select2Value'));
}.property('select1Value','select2Value','select3Value')
});
在视图中
{{view Ember.Select
contentBinding="YourSelectContent"
selectionBinding="App.SelectionController.select1Value"
[...]
{{view Ember.Select
contentBinding="YourSelectContent"
selectionBinding="App.SelectionController.select2Value"
[...]
{{view Ember.Select
contentBinding="YourSelectContent"
selectionBinding="App.SelectionController.select3Value"
[...]