npm 包 ngw-generic-forms 使用教程

阅读时长 11 分钟读完

简介

ngw-generic-forms 是一个基于 Angular 的表单生成器,能够快速地生成各种类型的表单,提高前端开发效率。它提供了丰富的表单元素组件,支持自定义表单元素组件,能够满足各种复杂的表单生成需求。

安装

使用 npm 安装 ngw-generic-forms,可以在 Angular 项目中使用:

使用说明

导入模块

在需要使用 ngw-generic-forms 的组件中导入 NgwGenericFormsModule 模块:

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

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

在组件中生成表单

在组件类中定义表单配置,并传递给 ngw-generic-forms 组件:

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

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

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

-

这里定义了一个表单,包含了用户名、密码、邮箱、性别和同意协议等表单元素。

表单元素组件

ngw-generic-forms 提供了多种基础表单元素组件,如 input、textarea、radio、checkbox、select 等,也支持自定义表单元素组件,只需实现 FormElementComponent 接口即可。以下是基础表单元素组件的详细使用说明:

input

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

input 元素的属性包括:

  • type:必选,值为 'input'
  • label:必填,标签文本。
  • inputType:可选,输入框类型,默认为 'text'
  • placeholder:可选,输入框提示文字。
  • validators:可选,验证器,使用方式详见下文。

textarea

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

textarea 元素的属性包括:

  • type:必选,值为 'textarea'
  • label:必填,标签文本。
  • placeholder:可选,输入框提示文字。
  • validators:可选,验证器,使用方式详见下文。

radio

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

radio 元素的属性包括:

  • type:必选,值为 'radio'
  • label:必填,标签文本。
  • options:必填,选项列表,每个选项都包含 labelvalue 两个属性。

checkbox

checkbox 元素的属性包括:

  • type:必选,值为 'checkbox'
  • label:必填,标签文本。
  • value:可选,初始值,默认为 false
  • validators:可选,验证器,使用方式详见下文。

select

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

select 元素的属性包括:

  • type:必选,值为 'select'
  • label:必填,标签文本。
  • options:必填,选项列表,每个选项都包含 labelvalue 两个属性。
  • multiple:可选,是否支持多选,默认为 false
  • validators:可选,验证器,使用方式详见下文。

验证器

ngw-generic-forms 支持验证器,用于对表单元素进行验证。验证器会在表单元素的值发生变化时自动被触发,如果验证失败,将会显示错误提示信息。验证器的使用方式如下:

每个验证器都是一个对象,对象的属性名为验证器名称,属性值为验证失败时的错误提示信息。常用的验证器及其属性如下:

  • required:必填项,属性值为错误提示信息。
  • requiredTrue:必须为 true,属性值为错误提示信息。
  • minLength:最小长度,属性值为最小长度。
  • maxLength:最大长度,属性值为最大长度。
  • pattern:正则表达式,属性值为正则表达式,或者正则表达式的字符串形式。

表单配置项

表单配置项是一个 FormGroupConfig 类型的对象,用于定义表单的各项配置。表单配置项的属性包括:

  • title:可选,表单标题。
  • submitText:可选,提交按钮文本,默认为 '提交'
  • formGroup:必填,表单元素的配置,使用方式详见上文。

示例代码

以下是一个完整的示例 Angular 组件代码:

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

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

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

-

结论

使用 ngw-generic-forms 可以提高前端开发效率,减少表单生成的重复性工作。它支持丰富的表单元素组件和验证器,能够满足各种复杂的表单生成需求。希望通过本文能够帮助大家更好地了解和使用 ngw-generic-forms。

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

纠错
反馈