EmberJS复选框设置值

时间:2015-12-28 03:03:27

标签: ember.js checkbox

根据ember文档,我可以这样做:

{{input type="checkbox" name="fruits[]" checked=isAdmin}}

这样可行,但是......我的复选框,虽然开启或关闭了#39;但请考虑以下因素:

[ ] Apples
[ ] Blueberries
[ ] Oranges

让我们说出“价值”'对于每一个都是标签...所以如果有人要检查所有3,它会将其作为一个数组传递:

["Apples","Blueberries","Oranges"]

但是,这不会发生什么......我得到了:

["true","true","true"]

1 个答案:

答案 0 :(得分:1)

如果您希望复选框值为数组形式,则必须创建computed property,这取决于复选框属性。

selectedFruits: Ember.computed('isBananas', 'isBlueberries', 'isOranges', function() {
  var values = [];
  var isBanana = this.get('isBanana');
  var isOranges = this.get('isOranges');
  var isBlueberries = this.get('isBlueberries');
  if (isBanana) { values.push('bananas'); }
  if (isBlueberries) { values.push('blueberries'); }
  if (isOranges) { values.push('oranges'); }
  return values;
});

或使用ember addon ember-multiselect-checkboxes代替

{{multiselect-checkboxes options=fruits selection=selectedFruits}}

其中selectedFruits === ['bananas','oranges']在数组中选择了项目