2016-04-07 2 views
0

У меня настроена реактивная таблица https://github.com/aslagle/reactive-table, и мне интересно, как я могу получить доступ к отфильтрованным данным.Доступ к данным реактивной таблицы после фильтрации

Это мой login.js файл

/*****************************************************************************/ 
/* Login: Event Handlers */ 
/*****************************************************************************/ 

Template.Login.created = function() { 
    this.filter = new ReactiveTable.Filter('greater-than-filter', ['number']); 
    //this.Pages = new Meteor.Pagination("crud"); 
}; 

Template.Login.events({ 
    "change .select-filter": function (event, template) { 
     template.filter.set($(event.target).val()); 
    } 
}); 

/*****************************************************************************/ 
/* Login: Helpers */ 
/*****************************************************************************/ 
Template.Login.helpers({ 
    'list': function(){ 
    return Crud.findOne(); 
    } 
}); 

/*****************************************************************************/ 
/* Login: Lifecycle Hooks */ 
/*****************************************************************************/ 
Template.Login.onCreated(function() { 
}); 

Template.Login.onRendered(function() { 
}); 

Template.Login.onDestroyed(function() { 
}); 


Template.Login.tables = function() { 
    return Crud.find(); 
} 

Template.Login.tableSettings = function() { 
    return { 
     rowsPerPage: 5, 
     showFilter: true, 
     filters: ['greater-than-filter'], 
     showNavigation: 'auto', 
     fields: [ 
      { key: '_id', label: 'Id' }, 
      { key: 'name', label: 'Name' }, 
      { key: 'type', label: 'Type' }, 
      { key: 'number', label: 'Number' } 
     ], 
     useFontAwesome: true, 
     group: 'client' 
    }; 
} 

и это HTML

<template name="Login"> 

    <div class="login"> 
    <div class="page-header"> 
    <h2>Login</h2> 
    <select id="greater-than-filter" class="form-control select-filter"> 
     <option value="">Any</option> 
     <option value=100>100</option> 
     <option value=200>200</option> 
    </select> 


     </div> 
     {{> reactiveTable collection=tables settings=tableSettings}} 
    <form> 

     <div class="form-group"> 
     <br/> 
     <div class="form-group" style="border:1px solid #708090"> 
     <h2>Data Widget</h2> 
     <hr/> 
     <div class="row"> 
    <article class="col-md-6 post"> 
    {{list.name}} 
    </article> 
    </div> 
     </div> 
     <button class="prev">Previous</button><button class="delete">Delete</button><button class="next pull-right">Next</button><button class="save pull-right">Save</button> 

     </div> 


    </form> 
    </div> 
</template> 

Я использую этот код

Template.Login.helpers({ 
    'list': function(){ 
    return Crud.findOne(); 
    } 
}); 

, чтобы отобразить первую запись, но этот код не фактор фильтрации, поэтому он всегда будет отображать первую запись коллекции crud ли я фильтр или я не делаю. Как я могу получить отфильтрованные данные, так что list.name отображает первую запись после фильтрации ?.

ответ

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