2016-04-09 2 views
1

У меня есть Backbone.Pageable коллекция, на которой я пытаюсь сделать фильтр, но и сбросить коллекцию с отфильтрованными значениями, но после сброса коллекция.fullCollection имеет одну меньшую модель, чем оригинал.FullCollection Backbone.PageableCollection действует weird после сброса

Это моя коллекция:

var todoCollection = Backbone.PageableCollection.extend({ 
    mode:'client', 
    search: function(letters){ 
    var self = this; 
    if(letters === "") return this.fullCollection.models; 

    var pattern = new RegExp(letters,"i"); 
    return this.fullCollection.filter(function(data) { 
     return pattern.test(data.get("text")); 
    }); 
    } 
}); 

Вы можете проверить на этой скрипке here.

+0

Основу коллекции, кажется, работает, как ожидалось. Это плагины 'fullCollection', которые не обновляются. Они утверждают, что поддерживают такую ​​функцию? Если так, возможно, это проблема с плагином для paginator ..? Вы пытались подняться в github? –

+0

Я не уверен, что они претендуют на такую ​​функцию, но я видел ее использование в этом конкретном стиле и прекрасно работает. Я попытаюсь дать ему еще одну хорошую попытку, прежде чем поднимать вопрос в github. – shahsank3t

ответ

0

Ваша функция поиска должна возвращать экземпляр todoCollection.

var todoCollection = Backbone.PageableCollection.extend({ 

mode:'client', 
    search: function(letters){ 
    var self = this; 
    if(letters === "") return this.fullCollection.models; 

    var pattern = new RegExp(letters,"i"); 
    result = this.fullCollection.filter(function(data) { 
     return pattern.test(data.get("text")); 
    }); 
    return new todoCollection(result); 
    } 

Working fiddle

+0

Моя проблема не в возвращении моделей/экземпляров todoCollection, но при сбросе todoCollection разрезается моя первая модель от todoCollection.fullCollection, которую она не должна делать. (fullCollection является частью плагина paginator) – shahsank3t

+0

Можете взглянуть на обновленную ссылку на скрипку в моем сообщении? он больше не срезает первую модель. Хотя я не знаю, почему он это делал в первую очередь. – Abhinav

+0

Я посмотрел обновленную скрипку, и она показывает правильную длину, но отфильтрованная модель в новой коллекции сброса не является правильной. Вы можете console.log коллекции сброса и проверить его модель, чтобы увидеть, что я пытаюсь сказать. – shahsank3t

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

  • Нет связанных вопросов^_^