0
我正在嘗試在表中實現多行選擇行。父控制器只是一個對象控制器。它有一個模型,並且視圖作爲單獨的行遍歷模型的記錄集。 我已經實現了模型中所有行的itemController。這樣可行。 但是對於'selectAll'功能,在父控制器中,我無法獲取所有項目(單獨)。你有什麼想法如何去abt它? 這裏是我的工作至今:Ember ObjectController和ItemController SelectAll功能
export
default Ember.ObjectController.extend({
// parent Controller
itemController: 'checkbox',
selectAll: function(key, value) {
var items = this.get('model.items');
if (arguments.length == 2) {
this.setEach('isSelected', value); //setEach is throwing an error sine it comes from ArrayController where as I am using ObjectController as the parent controller type
return value;
} else {
return this.isEvery('isSelected', true); //isEvery is also throwing error for the same reason
}.property('[email protected]')
我的項目控制器(checkboxcontroller)如下:
export default Ember.ObjectController.extend({
isSelected: false,
selectedListOfItems: [],
isSelectedChange: function() {
var selectedListOfItems = this.get('selectedListOfItems');
var itemId = this.get('id'); // comes from the model.items.id
debugger;
if (this.get('isSelected')) {
// add itemId to the selected array
var index = selectedListOfItems.indexOf(itemId);
if (index > -1) {
selectedListOfItems.splice(index, 1, itemId);
} else {
selectedListOfItems.push(itemId);
}
} else {
// remove itemId from the selected array
var index = selectedListOfItems.indexOf(itemId);
if (index > -1) {
selectedListOfItems.splice(index, 1);
}
}
this.set('selectedListOfItems', selectedListOfItems);
}.observes('isSelected')
});
我懷疑是我怎麼做全選父控制器(即ObjectController類型)選擇所有孩子的所有複選框。我不確定上面提供的信息是否足夠。請讓我知道你是否需要更多信息。在此先感謝