npm 包 @ng2-dynamic-forms/ui-material 使用教程

简介

在前端开发中,表单是经常使用的元素之一。@ng2-dynamic-forms/ui-material 是一个基于 Angular Material 开发的动态表单库,使用它可以快速实现各种表单需求。

安装

在使用前,需要安装以下依赖包:

  • @angular/core
  • @angular/forms
  • @angular/material
  • @ng2-dynamic-forms/core
  • @ng2-dynamic-forms/ui-material

你可以通过 npm 进行安装:

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

基本用法

导入模块

在项目中导入 MaterialModule 和 DynamicFormsMaterialUIModule 模块:

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

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

指定表单元数据

定义表单元数据(元数据包括字段类型、验证规则等信息),比如:

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

生成表单

在模板中生成表单:

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

更多用法

启用自定义化主题

可以将 @angular/material 的自定义化主题应用到 @ng2-dynamic-forms/ui-material 上。首先在项目中定义一个 MaterialDesignFramework 类:

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

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

然后在模块中导入并注册该类:

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

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

自定义表单控件

你可以使用自定义组件来替换 ui-material 默认的表单控件。

首先,定义自定义组件:

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

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

然后,在模块中注册该组件:

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

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

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

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

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

最后,实例化自定义控件模型,并生效:

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

结论

@ng2-dynamic-forms/ui-material 是一个强大的动态表单库,使用起来非常简单,并且还支持自定义化主题和自定义表单控件。在实际项目开发中,可以有效地提高开发效率,值得使用。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/60066bcc967216659e244875


猜你喜欢

  • npm 包 @nathanfaucett/focus_node 使用教程

    在前端开发中,经常需要对用户输入的表单进行校验和处理。而 @nathanfaucett/focus_node 就是一个专门用于操作 DOM 元素的 npm 包。它可以帮助我们在表单元素上设置和获取焦点...

    4 年前
  • npm 包 @nathanfaucett/format 使用教程

    在前端开发中,处理字符串是很常见的操作,但是处理字符串的方式却多种多样。其中,@nathanfaucett/format 是一个优秀的 npm 包,它提供了一种灵活且功能强大的方式来格式化字符串。

    4 年前
  • npm 包 @nathanfaucett/foreign_key 使用教程

    在前端开发中,我们经常需要处理数据的关联关系。为了方便地处理数据间的关联关系,开发者们往往会选择使用外键(foreign key)来建立表之间的联系。而 npm 包 @nathanfaucett/fo...

    4 年前
  • NPM包@nathanfaucett/dasherize的使用教程

    在前端开发中,经常需要对字符串进行处理和格式化,为了方便开发人员进行相关操作,NPM社区拥有了大量的字符串处理和格式化工具。其中,@nathanfaucett/dasherize是一款非常实用的NPM...

    4 年前
  • npm 包 @nathanfaucett/get_window 使用教程

    在前端开发中,经常需要获取浏览器窗口的各种信息。为了更加高效地获取这些信息,我们介绍一款 npm 包 @nathanfaucett/get_window,它是一个轻量的 JavaScript 工具包,...

    4 年前
  • npm 包 @nathanfaucett/has 使用教程

    简介 @nathanfaucett/has 是一个可以在 JavaScript 中判断一个对象是否具有特定属性的小型工具库。它封装了 JavaScript 中的 hasOwnProperty() 方法...

    4 年前
  • npm 包@nathanfaucett/hex_encoding 使用教程

    前言 在前端开发中,经常会用到十六进制编码的转换操作。@nathanfaucett/hex_encoding 是一个基于 JavaScript 编写的 npm 包,提供了一些方便快捷的方法,让我们在前...

    4 年前
  • npm 包 @nathanfaucett/http_error 使用教程

    什么是 @nathanfaucett/http_error 包 @nathanfaucett/http_error 是一个 npm 包,用于处理 http 请求中出现的错误。

    4 年前
  • npm 包 @nathanfaucett/get_active_element 基础教程

    随着前端技术的发展,我们常常需要获取用户当前激活的 DOM 元素以便于执行对应的操作。在这种情况下,通常需要借助一个库,其中 @nathanfaucett/get_active_element 就是一...

    4 年前
  • npm 包 @nathanfaucett/get_current_style 使用教程

    在前端开发中,获取当前样式是一个非常常见的需求。而 @nathanfaucett/get_current_style 就是一个专门用于获取当前样式的 npm 包。在本文中,我们将介绍该 npm 包的使...

    4 年前
  • npm 包 @nathanfaucett/get_event_key 使用教程

    前言 随着 Web 应用的不断发展,越来越多的交互功能需要前端实现。而事件处理对于交互功能来说是至关重要的。在事件处理中,有时需要获取事件触发时的键盘按键信息,以便针对不同按键触发不同的操作。

    4 年前
  • npm 包 @nathanfaucett/get_event_char_code 使用教程

    介绍 在前端开发中,我们经常需要对用户在输入框内输入的内容进行处理。而对于用户在输入框内输入的字符,我们需要获取其对应的字符编码。 可以使用 JavaScript 的 keydown 事件获取字符编码...

    4 年前
  • npm 包 @nathanfaucett/get_markup_wrap 使用教程

    在前端开发中,我们常常需要对网页内容进行标记和封装。使用 @nathanfaucett/get_markup_wrap 可以方便地对内容进行处理,得到我们想要的封装格式。

    4 年前
  • npm 包 @nathanfaucett/get_prototype_of 使用教程

    在前端开发中,获取一个对象的原型是一个常见的需求。虽然 JavaScript 中有内置的 Object.getPrototypeOf 方法,但是这个方法并不兼容所有的浏览器。

    4 年前
  • npm 包 @nathanfaucett/get_random_bytes 使用教程

    在前端开发中,我们常常需要生成随机数或加密字符串,这时就需要用到生成随机数的方式。@nathanfaucett/get_random_bytes 是一个 npm 包,可以帮助我们生成高质量的随机数。

    4 年前
  • npm 包 @nathanfaucett/inflections_en 使用教程

    前言 在前端开发中,我们经常需要对字符串进行格式化和变换。比如,我们要把一个单词的单数形式转换为复数形式,或者反过来。 不过,这种转换有时候需要在多个地方用到,所以最好将其封装成一个可复用的模块。

    4 年前
  • npm 包 @nathanfaucett/inflections_es 使用教程

    前言 在前端开发中,我们经常需要对字符串进行处理和转换。在英语环境下,这通常很容易,因为英语只有一种单数和复数形式,以及一种动词原形和进行时形式。但是在其他语言中,可能有更多的形式,这样就需要使用专门...

    4 年前
  • npm 包 @nathanfaucett/inflector 使用教程

    在前端开发中,处理文本和字符串是非常常见的任务。特别是在处理不同单词和形式的文本时,我们需要一些工具来帮助我们完成这项任务。npm 包 @nathanfaucett/inflector 就是一个很好的...

    4 年前
  • npm 包 @niik/ts-node 使用教程

    简介 @niik/ts-node 是一个基于 ts-node 的 TypeScript 运行时。与 ts-node 不同的是,它允许您使用 TypeScript 编写 Node.js CLI 应用程序...

    4 年前
  • npm 包 @nathanfaucett/hash_code 使用教程

    简介 在前端开发中,常常需要使用哈希函数实现散列化的操作,例如用于实现 cookie 或者缓存数据等等。而 @nathanfaucett/hash_code 这个 npm 包就提供了一种高效的哈希算法...

    4 年前

相关推荐

    暂无文章