npm 包 @recruit-paas/flow-group 使用教程

阅读时长 10 分钟读完

本文将介绍如何使用npm包@recruit-paas/flow-group来简化前端开发中的表格和表单处理。该包提供了一种易于使用的方式来处理表格和表单中的业务逻辑,同时还提供了一些高级功能,如数据校验和表单联动。

安装和使用

在使用该包之前,首先需要安装它。打开终端并运行以下命令:

需要注意的是,如果您使用的是Yarn,请将npm install替换为yarn add

入门示例

现在我们来尝试使用该包。假设我们的业务场景是一个订单管理系统,我们需要呈现一个订单表格,并且当我们选中某个订单时显示其详细信息。

首先,我们需要引入要使用的组件:

接下来,我们需要定义我们的订单数据和订单详细信息表单:

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

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

现在我们可以创建表格和表单了。为了方便演示,我们可以将所有的代码都放在同一个文件中:

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

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

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

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

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

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

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

现在打开您的应用程序并查看,在网页上会显示一个订单表格。当您选中任何一行时,会出现订单详细信息表单,并显示所选订单的详细信息,如下图所示:

功能介绍

FlowTable 和 FlowForm 提供了丰富的选项和配置,这里只是一个入门示例。下面将介绍它们的一些高级功能:

FlowTable

1. 表格分页

该组件提供了表格分页的功能。只需传递相应的选项即可启用分页,如下所示:

-- -------------------- ---- -------
----------
  -------------
  ----------
    -
      ------ -----
      ---------- -----
    --
    -
      ------ -------
      ---------- -------
    --
    -
      ------ ---------
      ---------- ---------
    --
  --
  -------------
    --------- ---
    ------ --------------
  --
  -----------------------
--
2. 搜索和过滤

通过传递 searchFieldsfilterFields 可启用表格中的搜索和过滤功能:

-- -------------------- ---- -------
----------
  -------------
  ----------
    -
      ------ -----
      ---------- -----
    --
    -
      ------ -------
      ---------- -------
    --
    -
      ------ ---------
      ---------- ---------
    --
  --
  ---------------
    -
      ------ -------
      ----- -------
    --
  --
  ---------------
    -
      ------ ---------
      ----- ---------
      -------- -
        - ------ ---------- ------ --------- --
        - ------ ---------- ------ --------- --
        - ------ ------------ ------ ----------- --
      --
    --
  --
  -----------------------
--
3. 自定义渲染

该组件提供了多个自定义渲染函数,可以用在以下场景中:

  • 为每个记录添加操作按钮
  • 对每个值进行格式化显示
  • 显示加载状态

以下是其中一个示例,用于向表格中的每个记录中添加“操作”按钮:

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

FlowForm

1. 数据校验

该组件提供了数据校验的功能。只需在表单字段中添加 rules 选项即可指定相应的校验规则。该选项采用 async-validator 库支持的所有规则:

-- -------------------- ---- -------
----- ------ - -
  -
    ------ -----------
    ----- -----------
    ----- -------
    ------ -
      - --------- ----- -------- --------- -- --------- --
      - -------- -------------- -------- --------- --- ---- ------- -------- --
      - ---- -- ---- --- -------- --------- ---- -- ------- - --- -- ----------- --
    --
  --
  -
    ------ -----------
    ----- -----------
    ----- -----------
    ------ -
      - --------- ----- -------- --------- -- --------- --
      - ---- -- ---- --- -------- --------- ---- -- ------- - --- -- ----------- --
    --
  --
-
2. 表单联动

该组件还提供了表单联动的功能。只需在表单字段中添加 dependencies 选项即可启用该功能。该选项应该是一个对象,键是该字段之前的字段名称,值是满足特定条件时应该重新计算此字段的函数:

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

结论

该包提供了一种简单的方式来处理前端开发中的表格和表单逻辑。它还提供了一些高级功能,如表格分页、搜索和过滤、表格自定义渲染、数据校验和表单联动。通过使用此包,您将能够更快速地构建和维护您的前端应用程序。

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