Как я могу отфильтровать коллекцию с помощью Backbone Paginator, включая элементы, отсутствующие на текущей странице?

Я использую Backbone Paginator, и когда я фильтрую коллекцию, она фильтрует только текущую страницу. Как я могу отфильтровать всю коллекцию?

В настоящее время я работаю с кнопкой фильтра в Marionette. Когда пользователь вводит значение для фильтрации, я устанавливаю значение в качестве члена в моем объекте Application. Затем я вызываю fetch для коллекции. Эти элементы находятся в таблице, представленной в составном представлении. Я переопределяю метод фильтра и возвращаю 0, если поле данных в модели не соответствует критериям в значении фильтра:

filter: function(child, index, collection) {
  var name = child.get('full_name').toLowerCase();
  if (App.nameFilter.length) {
    if (name.indexOf(App.nameFilter.toLowerCase()) == -1) {
      return 0;
    }
  }
  return 1;
}

Если дочерняя модель отсутствует на текущей странице, она не будет выбрана. Или есть лучший способ сделать это?

1 ответ

Я не знаю, если вы найдете решение для вашей проблемы, но фильтрация в марионетке не влияет на коллекцию, управляемую Paginator, это причина, которая вызывает ошибку на нумерации страниц.

Я тоже работаю над подобными вещами и думаю, что единственный способ - управлять фильтрацией прямо в коллекции.

Другие вопросы по тегам