根据ember文档,我可以这样做:
{{input type="checkbox" name="fruits[]" checked=isAdmin}}
这样可行,但是......我的复选框,虽然开启或关闭了#39;但请考虑以下因素:
[ ] Apples
[ ] Blueberries
[ ] Oranges
让我们说出“价值”'对于每一个都是标签...所以如果有人要检查所有3,它会将其作为一个数组传递:
["Apples","Blueberries","Oranges"]
但是,这不会发生什么......我得到了:
["true","true","true"]
答案 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']
在数组中选择了项目