1

我想制作一个带有服务器端分页排序和过滤的网格,我已经在后端使用 Rails 和 active-models-serializers 进行了设置,目前我设法使用 datatables.net 插件和纯 JS/JQuery 来完成它,但是ATM 我想将前端迁移到 EmberJS,直到现在我能找到的只是 ArrayController 和 Pageable-Mixings 的一些示例,这些示例在此应用程序上对我不起作用。EmberJS 生态系统中是否有任何 datables.net 替代品?感谢任何帮助。

4

1 回答 1

1

Datatables.net 已经存在了一段时间,并且功能非常齐全。我不知道 EmberJS 生态系统中有任何 1-1 替换。也就是说,ember-table非常棒,可能非常适合您的应用程序。确保它可以呈现由服务器端分页/排序/过滤支持的网格。

要了解分页是如何工作的,请查看table-with-ajax示例。它使用 github api 一次延迟加载一页(30 行)数据。我没有尝试过,但您可以扩展该示例以支持服务器端排序和过滤:

每当您的排序/过滤属性更改时重置内容数组:

content: Ember.computed ->
  App.TableAjaxExample.LazyDataSource.create
    content: new Array(@get('numRows'))
.property 'numRows', 'sort', 'filter'

然后在从服务器请求数据时使用这些属性:

url = "https://api.github.com/repos/emberjs/ember.js/events?page=#{page}&per_page=30&sort=#{sort}&filter=#{filter}&callback=?"
于 2013-10-11T03:13:38.740 回答