过滤后访问被动表数据

时间:2016-04-07 13:52:55

标签: jquery meteor meteor-blaze

我设置了一个反应表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显示过滤后的第一条记录?。

1 个答案:

答案 0 :(得分:0)

根据插件作者https://github.com/aslagle/reactive-table/issues/329

无法访问该数据