Primereact Datatable 服务器端带过滤器分页?

问题描述 投票:0回答:1

我正在使用 primereact,我想提高表格的性能,所以我想将其设置为服务器端分页,但我遇到了一些问题,服务器端分页可以使用此代码,但过滤器也停止了下载 CSV 我希望它下载所有被过滤的数据不仅仅是屏幕上呈现的 25 个数据,我怎样才能实现这一点?

useEffect(() => {
  setFiltered(filteredData)
},[filteredData])
    <DataTable
      scrollable
      size="small"
      scrollHeight="auto"
      className="datatable"
      dataKey="id"
      sortIcon={<PiSortDescendingBold />}
      exportFilename={`${new Date().toLocaleDateString()}`}
      value={filteredData}
      ref={ref as any}
      sortMode="single"
      paginator
      lazy
      loading={loading}
      first={first}
      rows={rows}
      onPage={e => {
        setFirst(e.first)
        setRows(e.rows)
      }}
      totalRecords={count}
      rowsPerPageOptions={[10, 25, 50, 100]}
      paginatorTemplate="RowsPerPageDropdown FirstPageLink PrevPageLink CurrentPageReport NextPageLink LastPageLink"
      paginatorLeft
      currentPageReportTemplate="{first} to {last} of {totalRecords}"
      emptyMessage="No Data !"
      onValueChange={e => setFiltered(e)}
   // columns
    </DataTable>

第一,rows是一个useState,里面有一个数字,setFiltered是一个空数组useState,count来自数据库的总计数

reactjs server-side-rendering primereact
1个回答
0
投票

使用服务器端 REST API 进行排序、过滤器、分页等的完整工作示例

包括 REST 服务器并在一个示例中提供所有 UI 代码。

参见:https://github.com/melloware/quarkus-primereact

© www.soinside.com 2019 - 2024. All rights reserved.