我有一个 Ember.Select,它根据某些角色过滤模型。目前,当应用程序启动模型的全部内容时显示,但我只想在应用过滤器时显示模型。我不知道我将如何做到这一点。
这是我在问题中的控制器,
App.TwodController = Ember.ArrayController.extend({
//filteredContent : null,
sortProperties: ['firstname'],
sortAscending: true,
selectedExperience : null,
experience : [{
exp : "1"
}, {
exp : "2"
}, {
exp : "3"
}, {
exp : "4"
}, {
exp : "5"
}],
selectedDesignation : null,
filterDesignation : function() {
var designation = this.get('selectedDesignation.designation');
var filtered = this.get('content').filterProperty('designation', designation);
this.set("filteredContent", filtered);
}.observes('selectedDesignation'),
designations : [{
designation : "Design",
id : 1
}, {
designation : "Writer",
id : 2
}, {
designation : "Script",
id : 3
}, {
designation : "Storyboard",
id : 4
}, {
designation : "Workbook",
id : 5
}],
actions : {
filterExperience : function() {
var experience = this.get('selectedExperience.exp');
var filtered = this.get('content').filterProperty('experience', experience);
this.set("filteredContent", filtered);
},
refresh : function() {
var refresh = this.get('content');
this.set("filteredContent", refresh);
}
},
filteredContent : function() {
var searchText = this.get('searchText'), regex = new RegExp(searchText, 'i');
return this.get('model').filter(function(item) {
var fullname = item.firstname + item.lastname;
return regex.test(fullname);
});
}.property('searchText', 'model')
});
此外,我遇到的另一个问题是我无法按升序排序。我需要对代码进行哪些更改才能达到预期的结果?
如果有人感兴趣,这里是完整的JSBin 。