在Tabulator中设置数据后如何设置分页?

时间:2020-06-16 04:02:11

标签: javascript html-table tabulator

我当前正在使用Tabulator这个库,并且我在文档中看到了一种方法setData(),该方法允许我动态设置表数据,但是我想要实现的是在设置表数据之后然后,我可以基于此设置表分页。

内置的分页功能是通过将pagination:"local"传递给选项对象或使用远程分页选项发送ajax调用来实现的。但是我的情况是我的客户端正在使用socket-io与服务器端进行通信,我不确定该如何实现。伪代码可能像这样:

const table = new Tabulator('#my-table', {
  ...
})

socketio.subscribe({
  ...,
  callback: function(data) {
    // get data from server side
    table.setData(data)
    // how to set pagination based on that?
    // is there a method called setPagination() ?
    table.setPagination(data)
  }
})

希望我清楚地解释了我的困惑。

2 个答案:

答案 0 :(得分:0)

http://tabulator.info/docs/4.6/page

您正在寻找table.setPage(3);。或任何页码。

答案 1 :(得分:0)

已经有一段时间了,但是我实际上发现在Tabulator中,无论何时加载数据,只要我在Tabulator的选项中设置了分页配置,就会在setData()被调用后重新渲染该分页。即使setData()被异步调用。

代码为:

const table = new Tabulator("#example-table", {
  // set pagination mode in local
  pagination: "local",
  paginationSize: 5,
  ...
})

setTimeout(() => {
  // simulate async data loaded
  table.setData(data)
}, 5000)

上面的代码将显示以下效果:

  1. 首先呈现一个没有数据的空表,分页显示但没有实际功能。
  2. 在5秒钟后将数据插入表中,将重新呈现分页,并具有完整的功能。
相关问题