npm 包 pensee-react-jsonschema-form 使用教程

介绍

pensee-react-jsonschema-form 是一个基于 React 的组件库,用于快速生成表单。它可以帮助开发者快速构建复杂的表单,而不必担心表单校验,表单布局等问题。

安装

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

使用

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

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

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

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

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

参数

Form 组件接受以下参数:

  • schema:定义表单的 JSON Schema,必须是对象类型;
  • formData:定义表单初始数据,必须与 schema 的数据类型和结构匹配;
  • uiSchema:定义表单的样式和布局,可以通过 CSS 来实现;
  • widgets:定义某些控件的类型,如标题,时间选择器等;
  • fields:定义表单中可用的控件,如文本框,选择框等;
  • transformErrors:用于自定义表单校验错误处理函数;
  • liveValidate:是否实时校验表单;
  • validate:表单成功提交前的校验器回调函数;
  • onBlur:单个表单控件失去焦点时的回调函数;
  • onFocus:单个表单控件获取焦点时的回调函数;
  • onChange:表单数据发生变化时的回调函数;
  • onSubmit:表单提交时的回调函数;
  • onError:表单校验不通过时的回调函数;
  • onErrorSchema:校验错误的表单数据结构。

示例

简单表单

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

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

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

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

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

自定义属性

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

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

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

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

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

自定义控件

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

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

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

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

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

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

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

结语

pensee-react-jsonschema-form 是一个非常强大的表单组件库,支持自定义样式和控件,完全可以满足日常开发和定制需求。希望本篇文章能对读者有所帮助,让大家能够更加便捷地使用该组件库,提高开发效率。

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


猜你喜欢

  • npm 包 coffee-hamlify 使用教程

    在 Web 开发中,前端技术的运用日益广泛,而 npm 包也是 Web 开发中不可或缺的东西。本文将介绍一个前端开发中常用的 npm 包 coffee-hamlify 的使用教程。

    3 年前
  • npm 包 iiot 使用教程

    前言 在现代化的工业控制系统中,数据收集、数据处理和远程控制等一系列的任务对于实现工业物联网至关重要。如何优化以及简化设备的数据采集、处理以及传输是一个长期以来存在的问题。

    3 年前
  • 使用skeleton-card-vuejs npm包创建响应式卡片

    前端开发者常常面临的一项任务是快速构建响应式UI元素。如果您正在寻找一种快速而灵活的方式来创建卡片,那么 skeleton-card-vuejs npm包可能是您需要的工具。

    3 年前
  • npm 包 gulp-boxen 使用教程

    在前端开发中,我们经常需要对页面进行美化,并将代码规范化。这样可以使代码更加易于维护和扩展。其中,包管理工具 npm 和构建工具 gulp 是我们非常常用的两个工具。

    3 年前
  • npm 包 pps2 使用教程

    介绍 pps2 是一款开源的前端工具,由网易出品,用于帮助前端开发者更加高效地进行开发。它提供了多种常用的前端功能,例如图片裁剪、拖拽排序、表单验证等,同时还能帮助开发者快速构建整洁美观的界面。

    3 年前
  • npm 包 @kanreisa/pm2 使用教程

    前言 在日常的前端开发工作中,我们经常需要运行和部署各种应用程序。而运行和管理多个应用程序时,可能需要使用一些工具来提高效率。@kanreisa/pm2 就是这样的一种工具,它能够帮助我们快速运行、操...

    3 年前
  • npm 包 fxt-firebase 使用教程

    在现代 web 应用中,一个可靠、可扩展的后端服务对于提高用户体验至关重要。Firebase 就是一个旨在提供后端服务的平台,它提供了丰富的功能,如实时数据库、认证、云函数等。

    3 年前
  • npm 包 hello-webpack 使用教程

    简介 hello-webpack 是一个用于学习如何使用 webpack 的 npm 包。它提供了一个简单的示例项目,用于演示如何使用 webpack 进行打包和构建前端应用程序。

    3 年前
  • npm 包 jquery.gmapping 使用教程

    在前端开发中,很多时候需要在地图上展示一些信息。而要实现这样的功能,就需要使用一些专业的地图库。其中,jQuery Gmaping 就是一个非常优秀的地图库,它可以轻松地在网站中嵌入 Google 地...

    3 年前
  • npm 包 jest-single-file-coverage 使用教程

    在前端开发中,单元测试非常重要。而在单元测试中,测试覆盖率评估也是非常关键的一环。jest-single-file-coverage 是一个可以对单个文件进行测试覆盖率评估的 npm 包,本文将介绍它...

    3 年前
  • npm 包 node-trademark 使用教程

    简介 在前端开发中,难免需要使用一些第三方库来辅助开发工作。npm (Node Package Manager) 是一个很好的选择。本文将介绍 npm 包 node-trademark 的使用方法。

    3 年前
  • NPM 包:React Native Loading Cat 使用教程

    React Native Loading Cat 是一款非常实用的 npm 包,它可以让我们在 React Native 应用中使用动画加载图标并增强用户体验。在本文中,我们将介绍如何安装和使用 Re...

    3 年前
  • npm 包 2017-8-28 使用教程

    前言 npm 是一个基于 Node.js 的包管理器,它允许开发者分享和重用代码。npm 包是一种标准的方式来组织和分享 JavaScript 代码。在前端开发过程中,使用 npm 包可以极大的提高开...

    3 年前
  • npm 包 hexo-light-gallery 使用教程

    npm 包 hexo-light-gallery 使用教程 hexo-light-gallery是一个方便易用的Hexo网站图片展示插件,它提供了简单的配置和美观的展示效果。

    3 年前
  • npm 包 express-process-manager 使用教程

    简介 express-process-manager 是一个 Node.js 的进程管理器,可用于在 Express 应用程序中管理子进程。 在 Node.js 中,子进程创建和管理是一项极其重要的任...

    3 年前
  • npm 包 aor-epilogue-client 使用教程

    在现代的前端开发中,npm 包管理系统扮演着至关重要的角色。其中,aor-epilogue-client 是一款非常有用的 npm 包,它可以帮助我们快速地搭建起一个完整的 React 后台管理系统。

    3 年前
  • npm 包 cat-time-tracker 使用教程

    在前端开发中,我们常常需要记录代码的执行时间等信息,以便于优化代码及提升用户体验。此时,npm 包 cat-time-tracker 可以大大地帮助我们,让我们能够轻松地记录代码的执行时间、消耗时间等...

    3 年前
  • npm 包 microless 使用教程

    前言 随着前端技术的迅猛发展,前端工程化已经成为了前端开发不可避免的一个问题。而 npm 包作为前端工程化必不可少的一部分,更是前端开发必须了解和掌握的知识之一。在 npm 上发布和维护自己的 npm...

    3 年前
  • npm 包 redux-saga-timer 使用教程

    redux-saga-timer 是一个用于在 Redux-Saga 中执行定时器任务的库。这个包提供了一种简单的方式来在应用程序中控制时间,从而能够将异步任务与定时器任务进行结合。

    3 年前
  • npm 包 chromeless-instagram 使用教程

    前言 chromeless-instagram 是一个基于 Node.js 的 npm 包,用于爬取 Instagram 的数据和图片。这个包使用了无头浏览器 Chromeless,并且实现了一个简单...

    3 年前

相关推荐

    暂无文章