npm 包 scrnhq-formik 使用教程

在前端开发中,表单是我们经常会遇到的问题。为了避免重复的劳动和提高效率,我们常常会选择使用一些现成的解决方案来处理表单的验证和提交。在这方面,本文要介绍的 scrnhq-formik 是一个非常实用的 npm 包。

什么是 scrnhq-formik

scrnhq-formik 是一个基于 React 的表单处理库。它提供了一种简洁且易于使用的方式来处理表单的验证、错误反馈和提交操作。相比较传统的表单处理方案,scrnhq-formik 的代码更为简洁,并且提供了更加友好的 API 和可定制性。

如何使用 scrnhq-formik

使用 scrnhq-formik 先要安装它。你可以使用以下命令进行安装:

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

安装完成后,在你需要处理表单的组件中引入 scrnhq-formik:

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

基本使用方式

我们来看一个基本的例子:

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

在这个例子中,我们定义了一个表单,它包含了两个输入框和一个提交按钮。我们通过 initialValues 参数设置了表单中的初始值,通过 onSubmit 参数设置了表单提交时的回调函数。在 Formik 中,我们需要将渲染表单的函数嵌套在组件中,并将需要的参数传递给这个渲染函数。在这个例子中,我们传递了 handleChange 和 handleSubmit 函数和当前表单值 values。

表单验证和错误

除了初始值和提交回调函数,Formik 还提供了一个 validationSchema 参数来设置表单的验证规则。它可以帮助我们规范输入内容的有效性,并显示错误消息。

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

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

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

在这个例子中,我们使用了 yup 库来定义了一个关于 username 和 password 两个输入框的验证规则,根据这个规则,username 必须输入,而 password 的长度必须大于 8。然后我们将这个规则传递给了 validationSchema 参数,在我们提交表单时这个规则就会被调用。

在表单的渲染处理中,我们使用 has-error 类来表示输入框有错误,并根据 errors 和 touched 属性来判断错误是否存在,并在有错误的输入框下方显示对应的错误信息。

验证错误

在表单验证存在错误的情况下,我们通常需要根据界面给出适当的错误提示。scrnhq-formik 提供了一个错误提示组件 ErrorMessage,可以帮我们快速的显示错误信息。

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

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

在这个例子中,我们调用了 scrnhq-formik 提供的 ErrorMessage 组件,并传递了对应 Input 的 name。这个组件会根据 name 和当前 Formik 实例的错误信息自动显示错误信息。

更高级的使用

scrnhq-formik 支持我们自定义表单控制器和提交时的数据处理。我们可以通过自定义表单控制器来处理各种复杂的表单控件,而通过自定义 onSubmit 回调函数来处理数据的提交。

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

在这个例子中,我们使用 axios 库来处理表单数据的提交,并设置了一个提交成功的提示框,并调用 setSubmitting 函数通知 Formik 组件数据提交已完成。

总结

scrnhq-formik 是一个非常好用的表单处理库,它简化了表单的处理和验证,提供了友好的 API 和丰富的可定制性。我们在实际的开发过程中,可以根据自己的需要进行配置和使用。希望本文对你有所启发。

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


猜你喜欢

  • npm 包 @instancejs/simple-react-forms 使用教程

    在前端开发中,表单一直是一个重要且不可避免的部分。然而,为了方便表单的管理和验证,我们需要借助一些工具和框架来帮助我们完成这些任务。今天,我要介绍的是一个非常便利的 npm 包,它就是 @instan...

    3 年前
  • npm 包 ellaism-client-binaries 使用教程

    介绍 ellaism-client-binaries 是一个基于 ellaism 区块链的 Node.js 客户端,它提供了一系列用于与 ellaism 区块链进行交互的 API,例如查询账户余额、获...

    3 年前
  • npm 包 hubot-meetbot 使用教程

    前言 在现代化企业中,团队内部沟通以及协作是至关重要的。所以,现在有很多的工具可以用来帮助团队更好的进行沟通和协作。其中, Hubot 是一款非常流行的聊天机器人,它可以根据用户的需求进行查找、提供数...

    3 年前
  • npm 包 dbj.cond.comparators 使用教程

    前言 在进行前端开发的过程中,我们经常会需要对数据进行比较。而这一过程往往会涉及到冗余的代码和复杂的判断逻辑,使代码难以维护和扩展。为了解决这一问题,npm 社区中出现了许多优秀的包,而 dbj.co...

    3 年前
  • npm 包 zipfile-diff 使用教程

    在完成前端项目开发后,我们经常需要将项目打成 zip 包交付给客户或者发布到线上。但是,在开发的过程中,由于需求的频繁变化以及开发人员的变动等因素,可能导致多个版本之间的文件差异非常大,而手动比对这些...

    3 年前
  • npm 包 flexee 使用教程

    简介 flexee 是一款 npm 包,封装了 flex 布局相关的 CSS 属性及其浏览器前缀,可以帮助开发者更方便地使用 flex 布局。 使用方法 安装 flexee: --- -------...

    3 年前
  • npm 包 gulp-webpack-tasks-ootb 使用教程

    简介 gulp-webpack-tasks-ootb 是一款 npm 包,它可以帮助前端开发人员更轻松地完成 Webpack 与 Gulp 之间的集成。通过使用该包,你可以很容易地配置开发环境和生产环...

    3 年前
  • npm 包 kratos-iview 使用教程

    前言 在现代前端开发中,使用 npm 包已经成为了标配之一。npm 是 Node.js 开发的包管理工具,可以方便地管理和安装各种依赖,同时也是开发开源项目的主要途径之一。

    3 年前
  • npm 包 deprecated-spdx-license-ids 使用教程

    在前端开发过程中,我们经常需要使用到 npm 包来帮助我们完成一些任务。其中,deprecated-spdx-license-ids 是一个非常有用的包,它可以帮助我们判断一个开源许可证是否被废弃。

    3 年前
  • npm 包 react-native-offscreen-toolbar 使用教程

    简介 React Native 是一款非常流行的跨平台手机应用开发框架。而 react-native-offscreen-toolbar 则是基于 React Native 开发的一款针对手机端工具栏...

    3 年前
  • npm 包 sgui 使用教程

    前言 sgui 是一个前端 UI 组件库,基于 Vue.js 框架,旨在帮助前端开发者快速构建美观、易用的 Web 应用程序。本教程将会介绍 sgui 的使用方法,从安装到实际应用中的使用。

    3 年前
  • npm 包 babel-plugin-import-glob-fix 使用教程

    babel-plugin-import-glob-fix 是一个能够帮助前端开发者在项目开发过程中更加便捷地使用 glob 模式的导入语句的 npm 包。本文将为大家详细介绍这个 npm 包的使用方法...

    3 年前
  • NPM包reddit-uhd使用教程

    1. 什么是reddit-uhd? reddit-uhd是一个NPM包,可以帮助前端开发者爬取Reddit社交媒体平台上的高清图片。该包使用Node.js编写,可以通过命令行界面进行使用。

    3 年前
  • npm 包 font-friends-fu 使用教程

    在前端领域,我们常常需要在项目中引入字体。字体的引入是非常重要的,因为它不仅可以提升网站的视觉效果,还可以增加用户的阅读体验和品牌识别度。而在实际的开发过程中,我们往往会遇到一些问题,比如字体文件过大...

    3 年前
  • npm 包 observable-calls 使用教程

    随着前端开发的不断发展,许多新的技术和工具不断涌现,这些工具有助于我们提高接口请求的效率和可靠性。其中一个非常有用的工具就是 npm 包 observable-calls,它可以用于跟踪和处理异步方法...

    3 年前
  • npm 包 vtex-api-sauce 使用教程

    在前端开发中,我们经常需要和后端通过 API 接口进行交互,这时候,我们就需要使用一些工具来帮助我们完成这个过程。vtex-api-sauce 就是这样一款非常好用的工具,它提供了一种简单的方式来让我...

    3 年前
  • npm 包 babel-preset-react-native-web3 使用教程

    当使用 React Native 开发时,我们可能还需要在项目中加入 web3.js 来与以太坊区块链交互。然而,由于 React Native 和 web3.js 都使用了 ECMAScript 的...

    3 年前
  • NPM 包 @dcueto/platzom 使用教程

    1. 前言 在前端开发中,我们经常需要处理字符串,包括对字符串进行处理和转换。在 JavaScript 中虽然提供了很多字符串操作方法,但有时候仍然不能满足我们的需求。

    3 年前
  • npm 包 @adt/message-tracker 使用教程

    Message-tracker 是一款非常好用的消息追踪和管理工具,可以帮助前端开发人员更好地管理和追踪应用程序中的消息。@adt/message-tracker 是 Message-tracker ...

    3 年前
  • npm 包 angular-barricade 使用教程

    简介 angular-barricade 是一款基于 Angular 的工具包,提供了一系列的指令和组件,方便前端开发人员对于表单的处理和验证,避免了一些重复或者较为繁琐的工作。

    3 年前

相关推荐

    暂无文章