npm 包 angular2-serverpagination-datatable 使用教程

阅读时长 7 分钟读完

简介

angular2-serverpagination-datatable 是一个 Angular2 的分页方案,主要解决分页数据量大的情况下前端渲染瓶颈的问题。它会从后端获取分页数据并渲染成表格形式,提供了非常方便的筛选和排序功能。

使用方法

安装

使用 npm 安装:

引入模块

@NgModule 引入模块:

-- -------------------- ---- -------
------ - ------------------------------- - ---- --------------------------------------

-----------
  -------- -
    -------------------------------
  --
  ---
--
------ ----- --------- --

HTML 部分

在 HTML 中,我们需要使用 datatable 标签并绑定数据和方法,同时支持 loadingerror 情况下的展示:

绑定数据

我们需要在组件中定义 optionsdata

-- -------------------- ---- -------
------ - --------- - ---- ----------------

------------
  --------- ---------------
  ------------ --------------------------------
  ---------- --------------------------------
--
------ ----- ----------- -
  ------- - -
    --------------- ---------
    -------------------- -----
    ------------------ -----
    --------- ---
    --------------------- --------- --- ------
    --------------- --- ------- -------
    -------------- ----- ------
    ------------------ --------- -----
  --

  ----- --- - ---
  
  ----------- - -------- ----- --------------- -- -
    ------ --------------------------------------------- -------- --------------------- -- -
      --------------- - ---------------
      ------ ----------
    ----
  --
-

注意到我们在 requestData 中使用一个方法从后端获取数据。params 参数为当前的分页和排序等信息,我们使用 http.get 方法获取后端数据。同时我们需要在 pipe 中使用 map 方法,这是由于 HTTP 库使用了 RxJS 而需要进行类型转换。

API 文档

属性

  • datatableOptions -(必需) 数据库表配置选项。
  • tableData -(必需) 表格所需数据。
  • onDataRequest - (必需)从服务获取数据的回调函数

datatableOptions

  • paginationType:可选值为 'client''server',表示分页类型:前端分页还是后端分页。
  • pageSize:每页显示记录数。默认为 10
  • elementsPerPageLabel:控件显示每页多少项的标签,默认为 'Elements per page'
  • noResultsLabel:表格中无结果时的文本,默认为 'No results found'
  • nextPageLabel:“下一页”按钮上的文本,默认为 'Next Page'
  • previousPageLabel:“上一页”按钮上的文本,默认为 'Previous Page'
  • serverMethod:指定服务端数据请求方法,便于支持 http post 等
  • serverSideFiltering:可选值为 truefalse,表示是否后端过滤,默认为 false 意为前端过滤。
  • serverSideSorting:可选值为 truefalse,表示是否后端排序,默认为 false 意为前端排序。
  • totalRecordsField:后端返回统计的总记录数字段名,默认为 'totalRecords'
  • dataField:后端返回表格数据的字段名,默认为 'data'

示例代码

组件

-- -------------------- ---- -------
------ - --------- - ---- ----------------
------ - --- - ---- -----------------
------ - ---------- - ---- -----------------------
------ - ---------- - ---- -------

------------
  --------- -----------
  ------------ -----------------------
  ---------- -----------------------
--
------ ----- ------------ -

  ------- - -
    --------------- ---------
    -------------------- -----
    ------------------ -----
    --------- ---
    --------------------- --------- --- ------
    --------------- --- ------- -------
    -------------- ----- ------
    ------------------ --------- -----
  --

  ----- --- - ---
  
  ----------- - -------- ----- --------------- -- -
    ------ --------------------------------------------- -------- --------------------- -- -
      --------------- - ---------------
      ------ ----------
    ----
  --

  ------------------- ----- ----------- --
  
-

HTML

总结

本文介绍了 angular2-serverpagination-datatable 的使用教程,以及 API 文档和示例代码。希望可以帮助大家更好地解决前端分页数据量大的问题,在实际开发中提供便捷和效率的操作。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600553fc81e8991b448d1553

纠错
反馈