我想制作一个带有服务器端分页排序和过滤的网格,我已经在后端设置了Rails和active-models-serializers,目前我设法用datatables.net插件和普通JS / JQuery,但ATM我想将前端迁移到EmberJS,直到我能找到的一切都是一些例子,ArrayController和Pageable-Mixings做了某种客户端分页,这对我在这个应用程序上不起作用。在EmberJS生态系统中是否有任何datables.net替换?,任何帮助都表示赞赏。
答案 0 :(得分: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=?"