npm 包 ag-grid-two-modules 使用教程

阅读时长 10 分钟读完

前言

在前端开发中,我们经常需要使用表格来展示数据,而 ag-grid 是一个强大的、可定制化的表格库。在 ag-grid 中,你可以自由地添加或删除列、自定义单元格、排序、筛选等等。而 ag-grid 又把自己分为两个模块 —— Community 和 Enterprise。其中,Enterprise 收费,开源的 Community 足以满足大部分需求。

安装

使用 npm 安装 ag-grid-community 和 ag-grid-enterprise 如下:

补充:ag-grid-enterprise 是一次性购买的模块,需要用它的话需要先购买许可证。

使用教程

这里我们使用 ag-grid-community 来展示如何使用 ag-grid 库。使用时,需要先导入相关文件:

这里我们还需要导入一个针对于 Community 和 Enterprise 统一进行了封装的 npm 包:ag-grid-two-modules。这个包可以使你使用相同的代码对 ag-grid-community 和 ag-grid-enterprise 以及自定义模块进行操作。

接下来就可以使用了。首先定义两个变量,一个是 gridOptions 一个是 gridColumns。其中,gridOptions 存储表格的参数,gridColumns 存储表格的每一列的定义。

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

在模板中,我们使用 <ag-grid-vue-two-module> 来创建 ag-grid 表格。我们要把 columnDefsrowData 绑定到 gridOptions 对象中:

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

最后,我们在 mounted 生命周期钩子上初始化 gridOptions

这个时候,你就可以看到一个简单的表格被渲染了出来。

实战案例

下面是一个实战案例,该案例使用 ag-grid 来按照年龄排序展示职工名单(点击表头进行升序或降序排序):

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

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

在这个案例中,我们使用了 AllCommunityModules 来导入 ag-grid 的所有模块。同时,我们设置了 defaultColDef 来定义所有列的属性,在模版中设置了 enableSortingsortingOrder,并在 mounted() 生命周期中添加了一个 onGridReady() 事件来初始化表格。

最后,我们在 gridOptions 中添加一个 sortingChanged 事件,通过 api.getSortModel() 来获取当前排序模型,并对 rowData 进行重新排序:

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

以上就是 npm 包 ag-grid-two-modules 使用教程的详细介绍,相信现在你对 ag-grid 库的使用有了更深入的理解和学习思路。

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

纠错
反馈