npm 包 ng2-formly 使用教程

阅读时长 6 分钟读完

ng2-formly 是 Angular 中的一个强大的动态表单库,允许您使用 JSON 格式定义表单结构和验证。本文将介绍如何使用 ng2-formly 创建动态表单,并提供相关示例代码。

安装

在使用 ng2-formly 之前,您需要安装它。可以使用以下命令安装:

其中,@ngx-formly/core 是 ng2-formly 的核心库,@ngx-formly/bootstrap 则是一个基于 Bootstrap 样式的适配器库。

基础示例

下面是一个简单的示例,演示如何使用 ng2-formly 创建动态表单:

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

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

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

在上面的示例中,我们创建了三个表单字段:名称、年龄和性别。使用 FormlyFieldConfig 定义每个字段的属性,并将它们添加到 fields 数组中。然后,在模板中使用 <formly-form> 组件渲染表单。

高级示例

ng2-formly 还支持更高级的功能,例如自定义类型、动态表单和异步验证等。下面是一个高级示例,演示如何使用 ng2-formly 创建一个动态表单并进行异步验证:

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

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

- ----------------------------------------------------------- --------
----------------------------------------------------------------------------------
纠错
反馈