2013-08-14 3 views
0

У меня есть таблица, сгенерированная с данными с сервера. В каждом столбце таблицы есть кнопка вверху, чтобы отсортировать всю таблицу с высокой до низкой или от низкой до высокой на основе значений в этом столбце. Существует также столбец имен, который сортируется по алфавиту.Таблица сортировки в пределах Ember.js

В настоящее время у меня все это связано с рулями, и когда вы нажимаете кнопку, он сортирует массив табличных данных, а затем повторно интерполирует шаблон и вставляет его на страницу.

Я пытаюсь переместить это на использование ember.js. Моя первая проблема заключается в том, что мой массив массивов данных не является простым массивом, его объект ember со всеми видами методов get и set и других вещей внутри. Как разобраться в этом, используя функцию как один у меня есть:

function sortAtoZ(arr, one, two) { 
    arr.sort(function(a, b) {return a[one].localeCompare(b[two])}); 
} 
+2

http://www.estellamadison.com/?utm_source=Ember+Weekly&utm_campaign=b61e8568dd-Ember_Weekly_Issue_15&utm_medium=email&utm_term=0_e96229d21d-b61e8568dd-92242625#/posts/7729704464532575256 ... Это может помочь вам тоже – selvagsz

ответ

1

Поддержка базовой сортировки встроен в Ember контроллеры массива через Sortable Mixin. Из-из-коробки поддерживает сортировку по одному или нескольким свойствам с использованием Ember.compare, но может использовать пользовательский sortFunction как:

App.TableController = Ember.ArrayController.extend({ 
    sortProperties: ['trackNumber'], 
    sortAscending: true, 
    sortFunction: function(a,b) { 
    // your custom sort logic here 
    // return 0 if the two parameters are equal, return a negative value if the first parameter is smaller than the second or return a positive value otherwise 
    } 
}); 

Кроме того, если вы хотите сделать что-то более продвинутое с таблицами, посмотрите на ember-table

+0

проблема с Ember стола есть, насколько я вижу в своих документах, что у него нет никаких средств поиска. Что вы можете сделать, если у вас есть набор данных, скажем, 1M строк? Вы даже не можете делать Ctrl + F из-за того, как он отображается в окне просмотра ... –

Смежные вопросы