【发布时间】:2013-04-01 07:14:02
【问题描述】:
我必须在 ember 中快速实现三态复选框,所以我想知道是否有人可以给我一个指针,指向在 ember 中实现三态复选框?
【问题讨论】:
-
你是怎么解决这个问题的?
标签: javascript ember.js handlebars.js ember-data
我必须在 ember 中快速实现三态复选框,所以我想知道是否有人可以给我一个指针,指向在 ember 中实现三态复选框?
【问题讨论】:
标签: javascript ember.js handlebars.js ember-data
Ember 的当前版本 (2.0) 通过 indeterminate 属性支持此功能。
{{input type="checkbox"
name=name
checked=isChecked
indeterminate=isIndeterminate}}
http://emberjs.com/api/classes/Ember.Templates.helpers.html#toc_checkbox
【讨论】:
不知道你是否还需要这个,这是我用的:
FM.TriStateCheckbox = Ember.Checkbox.extend({
attributeBindings: ['indeterminate'],
indeterminate: false
})
您可以像使用普通复选框一样使用它
...
<th>{{view FM.TriStateCheckbox checkedBinding="allSelected" indeterminateBinding="someSelected"}}</th>
...
请注意,绑定不确定(即,本案例someSelected)也应该返回false @ all时。
someSelected: function(key, value) {
if (this.get('allSelected')) { return false }
return this.get('children').someProperty('isSelected', true)
}.property('children.@each.isSelected')
【讨论】: