npm 包 @formily/react-schema-renderer 使用教程

阅读时长 6 分钟读完

在前端开发中,表单是一个重要的组件。@formily/react-schema-renderer 是一款基于 React 的表单渲染器,可以方便地渲染出美观的表单页面。

安装和使用

在使用 @formily/react-schema-renderer 之前,我们需要先安装它。可以通过 npm 或 yarn 安装:

安装完毕后,我们就可以开始使用该包了。

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

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

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

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

------ ------- ----
展开代码

通过上面的代码,我们可以创建一个简单的表单,并在表单提交时打印出表单的值。

Schema 和 控件

在 @formily/react-schema-renderer 中,我们需要使用 Schema 来定义表单结构,并使用控件来渲染表单。

Schema

Schema 是一个 JSON 对象,用于描述表单结构。下面是一个简单的 Schema 示例:

-- -------------------- ---- -------
----- ------ - -
  ----- --------- -- ---------
  ----------- -
    ----- -
      ----- --------- -- ------
      ------ ----- -- ----
    --
    ---- -
      ----- --------- -- -----
      ------ -----
    --
    -------- -
      ----- --------- -- -----------------
      ----------- -
        ----- -
          ----- ---------
          ------ -----
        --
        ------- -
          ----- ---------
          ------ -----
        --
      --
    --
  --
--
展开代码

控件

控件是用来渲染表单界面的组件。在 @formily/react-schema-renderer 中,我们可以使用一些预置的控件,也可以自定义控件。

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

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

----- ------ - -
  -- ---
  ----------- -
    ----- -
      ----- ---------
      ------ -----
    --
    -------- -
      ----- ----------
      ------ -------
    --
    ---- -
      ----- ---------
      ------ -----
      ----- -------- ----------
      -------------- ------------- -- -- ----- --
      ---------- -
        -------- -
          - ------ ---- ------ ------ --
          - ------ ---- ------ -------- --
        --
      --
    --
    ------- -
      ----- ---------
      ------ --------
      -------------- ------------------ -- -------
    --
  --
--
展开代码

在控件中,我们可以使用一些特殊的属性来描述控件的行为和样式:

  • name: 控件的名称,对应 Schema 中的属性名。
  • title: 控件的标题,对应 Schema 中的 title 属性。
  • x-component: 控件的名称,用于指定使用哪个控件组件来渲染该字段。
  • x-props: 控件的其他属性,用于传递额外的属性给控件组件。

样式和布局

@formily/react-schema-renderer 可以与不同的 UI 框架结合使用,例如 Antd、Element、Vant 等,我们只需要导入对应的控件库即可。

此外,我们还可以使用 CSS 或 SCSS 来自定义表单的样式和布局。@formily/react-schema-renderer 支持使用 classNamestyle 属性来设置控件和表单的样式。

-- -------------------- ---- -------
----- ------ - -
  -- ---
  ----------- -
    ----- -
      ----- ---------
      ------ -----
      -------------------- -
        -- - ----- ---- ----- --
        ---------- -----------
      --
    --
    -------- -
      ----- ----------
      ------ -------
      -------------- ----------- -- -- -------- --
      -------------------- -
        -- - -------- ---- ----- --
        ---------- --------------
      --
    --
  --
--
展开代码

上述代码中,我们使用了 x-component-props 属性来设置控件的样式。

总结

@formily/react-schema-renderer 是一款非常实用的表单渲染器,可以方便地创建出美观、易于使用的表单页面。希望通过本文,对使用该 npm 包有更深的理解,可以在前端开发中更加灵活地运用它。

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

纠错
反馈

纠错反馈