Как я могу отсортировать наблюдаемый массив с вычисленным полем в модели knockoutjs? Я хочу сортировать с вычисленным полем. Вот поле:Сортировка вычисленного поля модели knockoutjs
self.filteredCases = ko.computed(function() {
return ko.utils.arrayFilter(self.cases(), function (onecase) {
return ((self.eventFilter() == 1 && onecase.Status() == self.statusFilter())
|| (self.eventFilter() != 1 && onecase.Status() == self.eventFilter())
|| ((self.eventFilter() == 1 && self.statusFilter() == 0)
&& (onecase.Status() == 1 || onecase.Status() == 2 || onecase.Status() == 3 || onecase.Status() == 4))
);
});
});
Поэтому я хочу сортировать только отфильтрованные элементы, а не все предметы. Сортировка элементов работает, но похоже, что ko.computed не получил метод сортировки.
У меня есть несколько столбцов, здесь один метод фильтра:
self.orderById = function (direction) {
self.cases.sort(function (left, right) { //Working
//self.filteredCases().sort(function (left, right) { //Do nothing
return direction ?
left.CaseId() > right.CaseId() ? 1 : -1
: left.CaseId() < right.CaseId() ? 1 : -1;
});
};
Пожалуйста, советы,
Вы, наверное, как и self.filteredCases.sort нужно self.filteredCases(). Сортировать – Joe