EmberJS ArrayControlller 在排序后重置选择
EmberJS ArrayControlller Resets Selection After Sort
每当更改我的ArrayController
中的sortingProperties
时,所有记录的选定复选框始终被重置。有没有办法保留特定记录的状态?我试图将controller
换成关键字模板中的content
和arrangedContent
。
关键字视图
{{view Ember.Checkbox
class="keyword-checkbox"
idBinding="checkboxId"
name="id[]"
disabledBinding="isCheckboxDisabled"
checkedBinding="isKeywordSelected"
valueBinding="id" }}
关键字控制器
App.KeywordController = Ember.ObjectController.extend(Ember.Evented, {
...
isKeywordSelected: false
...
});
关键字控制器
App.KeywordsController = Ember.ArrayController.extend(Ember.Evented, {
sortAscending: true,
sortProperties: ['name'],
init: function() {
this.set('content', this.store.find('keyword', { domain_id: 1 });
}
});
关键字模板
{{#each keyword in controller}}
{{render "keyword" keyword}}
{{/each}}
更新:jsFiddle 示例
http://jsfiddle.net/rxgx/pJUuc/
随着代码中的一些更改,现在进展顺利。
我将每个块更改为使用 arrangedContent 和部分帮助程序,它呈现具有实际上下文的模板......
{{#each arrangedContent}}
{{partial keyword}}
{{/each}}
同样在关键字控制器中,我添加了一个itemController属性来断言项目的控制器,并且在init方法中添加了一个对this._super()的调用来调用控制器的ember初始化代码。
App.KeywordsController = Ember.ArrayController.extend({
itemController:'keyword',
selectedKeywords: function() {
return this.get('content').filterBy('isSelected', true).get('length');
}.property('content.@each.isSelected'),
sortAscending: true,
sortProperties: ['name'],
actions: {
sort: function(property) {console.log(property);
this.set('sortProperties', [property]);
}
},
init: function() {
this.set('content', keywords);
this._super();
}
});
Jsfiddle http://jsfiddle.net/pJUuc/6/
你有一个关键字 Controller 它是一个 ArrayController。调用 render 时,将为每个关键字创建一个对象控制器。将状态放在关键字控制器中,这样状态的范围就限定为单个关键字而不是集合。
相关文章:
- Select2val不反映选择顺序,但对其进行排序
- 通过javascript和php动态排序表以及其他一些选择标准
- 如何在d3中对形状选择进行排序
- 如何根据用户选择顺序重新排序多选的值
- 动态生成<选择>未显示已排序列表中的第一个项目
- 使用多个页面的选择选项标签对 mysql 中的数据进行排序
- 是否有根据特异性对 CSS 选择器文本进行排序的 JS 库
- 将值添加到选择和排序
- 可排序的 Js 在带有选择/选项标签的 chrome 中不起作用,但与 ul/li 标签一起工作
- 使用JavaScript的“选择排序”
- 选择排序算法不起作用..警告..我是新手
- 如何改进选择排序
- jQuery在页面刷新时选择排序更改显示选项.什么'正在发生
- 为什么JavaScript选择排序挂起
- jqGrid表单编辑选择排序
- 选择排序不能正常工作
- 我正在尝试使用javascript中的选择排序算法对数组中的对象进行排序
- SlickGrid选择排序问题
- 为什么选择排序在Javascript中如此之快?
- 选择排序在javascript通过可汗学院