1

虽然我似乎可以删除一些行,但是否可以根据某些过滤逻辑跳过某些行的呈现?

例如,不要在哪里渲染一行model.get('someProp') == 'X'

4

1 回答 1

1

我猜 css 解决方案,例如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-methodBackgrid.Row并检查那里的模型属性,但最终也会被覆盖Backgrid.Body

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

于 2014-04-14T21:08:27.617 回答