npm 包 @ag-grid-enterprise/side-bar 使用教程

阅读时长 11 分钟读完

介绍

@ag-grid-enterprise/side-bar 是 AG Grid Enterprise 版本的一个 npm 包,提供了一个可扩展的侧边栏组件,用于管理表格的列和行。

AG Grid Enterprise 是一个将性能和功能平衡的 JavaScript 表格库,支持大量数据、大量列和快速渲染。

使用 @ag-grid-enterprise/side-bar,我们可以让用户方便地管理表格的列和行,通过拖拽、排序、隐藏等方式,达到对表格的灵活性管理。

本文将介绍如何在前端项目中使用 @ag-grid-enterprise/side-bar。

安装

可以使用 npm 在项目中安装 @ag-grid-enterprise/side-bar:

使用

添加依赖

首先需要在项目中使用 @ag-grid-enterprise/side-bar 的前提是,你的项目已经使用了 AG Grid 企业版,并且已经 import AG Grid 的相关包。

依赖添加示例:

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

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

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

初始化侧边栏

侧边栏初始化示例:

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

---

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

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

在上面的示例中,我们通过设置 gridOptions 的 sideBar 属性,来启用了 AG Grid 的侧边栏。其中:

  • toolPanels 包含了多个工具面板,可实现快速的列和行管理;
  • position 属性设置了侧边栏位置;
  • defaultToolPanel 属性设置了默认显示的面板;
  • hiddenByDefault 属性设置了侧边栏是否默认隐藏;
  • suppressColumnExpandAll 属性控制是否允许展开全部列;
  • suppressColumnFilter 属性控制是否允许过滤列;
  • suppressColumnSelectAll 属性控制是否允许选择全部列;
  • suppressRowGroups 属性控制是否允许分组行;
  • suppressValues 属性控制是否允许值属性;
  • suppressPivots 属性控制是否允许设置枢轴表。

自定义面板

可以通过实现自定义面板的方式,来扩展自己的工具面板。

例如,我们想增加一个自定义面板,来管理表格的样式(字体、颜色、背景等),可以参考以下代码:

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

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

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

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

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

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

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

在上面的示例中,我们实现了一个名为 StyleToolPanel 的 React 组件,通过 init 方法来初始化组件,同时渲染了样式管理面板和列管理。其中 onToggleColumnVisibility 方法和 onColumnVisible 方法,分别用于控制列的可见性和监听列的可见性改变事件。

最后,通过注册自定义面板的方式,将该面板加入到侧边栏的 toolPanels 数组中:

技巧

  • 可以通过 gridOptions.sideBar.hiddenByDefault 属性来设置侧边栏默认是否隐藏;
  • 可以通过 gridOptions.sideBar.toolPanels 属性自定义侧边面板;
  • 可以通过实现 ToolPanelParams 和 SideBarDef 接口,来自定义面板。

结论

本文介绍了如何在前端项目中使用 npm 包 @ag-grid-enterprise/side-bar 来创建一个可定制的侧边栏组件,通过自定义面板和实现接口的方式,可以实现自定义功能和扩展应用场景。

希望本文能够为前端开发者提供一些有价值的学习和指导,更多关于 AG Grid 相关内容,可以参考官方文档:https://www.ag-grid.com/

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

纠错
反馈