Backgrid.js,是否可以跳过某些行的渲染

时间:2014-04-11 23:25:14

标签: backbone.js backgrid

虽然看起来我可以删除一些行,是否可以根据某些过滤逻辑跳过某些行的渲染?

e.g。不要在model.get('someProp') == 'X'

的位置呈现行

1 个答案:

答案 0 :(得分:1)

我猜css-solution,例如display:none;,好吗?因此,您可以通过扩展您使用的行模型(骨干本机功能)来使用classNames:

...
options.row = Backgrid.Row.extend({
  className: function() {
    return this.model.get('property') == 1 ? 'renderme' : 'hideme';
  }
});
var grid = new Backgrid.Grid(options);

然后将您想要的任何样式应用于这些类。 当然,您可以通过扩展它来覆盖render - Backgrid.Row方法,并检查那里的models属性,但最终也会覆盖Backgrid.Body

我发现使用css类名称是更灵活的多用途解决方案。