npm 包 @activatortube/react-native-form 使用教程

阅读时长 15 分钟读完

前言

在前端开发中,我们常常需要使用到表单组件来收集并提交用户的输入信息。React Native 作为跨平台的移动端开发框架,也有一些表单组件可供选择,如 react-native-form, react-native-form-generator 等等。而今天我们要介绍的是一个新的表单组件—— @activatortube/react-native-form

这个组件具有良好的可扩展性和定制化能力,具有输入校验和异步表单提交等特点。我们将在本文中详细介绍该组件的使用方法和API。

安装

在使用 @activatortube/react-native-form 组件前,需要在你的 React Native 项目中先安装该包。可以使用 npm 或 yarn 进行安装。

或者

使用方法

在你的 React Native 项目中引入组件并创建表单,示例如下:

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

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

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

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

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

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

在上述代码中,我们创建了一个表单,其中包含两个 TextInput 组件。在 handleFormChange 函数中,我们每次在输入框内输入内容时都能获取到输入框内容,将其存储在组件状态中以进行表单提交。当点击表单的提交按钮时,触发 handleSubmit 函数进行表单校验和提交操作。

API 和配置项

以下是 @activatortube/react-native-form 组件提供的 API 和配置项列表。

Form 组件

Form 组件是所有表单组件的容器,用于组合成一个完整的表单。同时也实现了表单数据的绑定、表单校验等功能,API 和配置项如下:

注意:如果是 Form 组件需要注意ref,Button 调用Form组件方法前请确保已被渲染

  • ref: 用于获取 Form 组件的引用,需要确保是唯一的。
-- -------------------- ---- -------
  -- ---
  -------- -
    ------ -
      ----- -----------
        -- ---
      -------
      ------- ----------- -- ------------------------ ------------
    --
  -
  • onChange function

当表单上的任一输入框的值发生改变时,Form 组件调用 onChange 函数并传递 formData 对象作为参数。当表单发生任何变化时都会被自动触发。

  • onSubmit function

当用户提交表单时,Form 组件调用 onSubmit 函数。在这个函数中,你应该校验表单数据的有效性,并将表单数据提交到服务器。

Input 组件

Form 组件中的 TextInputSelectSwitch 等都是继承自 Input 的组件,Input 继承自 TextInput 组件,提供了一些额外的配置项和 API,API 和配置项如下:

  • name string

指定表单控件的属性名称,该名称将作为 formData 对象的属性名。

  • label string

指定表单控件的标签名称,显示在表单控件之前。

  • placeholder string

指定表单控件中的默认值。

  • required bool

指定表单控件是否必填。

  • keyboardType string

指定表单控件的输入类型,如 numericemail-address 等。

  • autoCapitalize string

指定文本框的大小写规则,如 none(不自动转换)、sentences(每个句子的首字母大写)、words(每个单词的首字母大写)等。

  • password bool

指定文本框的类型是否为密码类型,用于隐藏用户的输入内容。

  • selectTextOnFocus bool

指定文本框是否在获得焦点时全选内容。默认值为 false

  • autoCorrect bool

指定文本框是否根据用户输入自动修正。

  • onFocus function

指定文本框获得焦点时执行的回调函数。

  • onBlur function

指定文本框失去焦点时执行的回调函数。

Switch 组件

Switch 组件是一个开关按钮,用于表示一个布尔值。当用户点击开关按钮时,Switch 组件调用 onChange 函数并传递参数。

  • name string

指定表单控件的属性名称,该名称将作为 formData 对象的属性名。

  • label string

指定表单控件的标签名称,显示在表单控件之前。

  • buttonRadius number

指定开关按钮的圆角大小。

  • changeValueImmediately bool

指定开关按钮是否在触摸时立即修改其值。默认值为 false

  • buttonSize number

指定开关按钮的大小。

  • buttonOuterSize number

指定开关按钮外围的大小。

  • switchWidthMultiplier number

指定开关按钮的宽度。默认值为 1.8

  • switchHeightMultiplier number

指定开关按钮的高度。默认值为 1.2

  • value bool

指定开关按钮的值。如果为真,开关按钮将为激活状态。默认为 false

  • onChange function

当开关按钮的值发生改变时,Switch 组件调用 onChange 函数并传递 value 作为参数。

Picker 组件

Picker 是一个可以拉出下拉框来选择框中的内容。

  • name string

指定表单控件的属性名称,该名称将作为 formData 对象的属性名。

  • label string

指定表单控件的标签名称,显示在表单控件之前。

  • options array

指定表单控件的可选项,默认值为空数组。数组中每个元素都是一个对象,对象包含 valuelabel 两个属性。

-- -------------------- ---- -------
  ------------
    ------------
    ------------
    ----------
      - ------ ----- ------ ------------ --
      - ------ -------- ------ ------- --
      - ------ --------------- ------ ------ ------- --
    --
  --
  • selectedValue string|number

指定表单控件的默认值。

-- -------------------- ---- -------
  ------------
    ------------
    ------------
    ----------
      - ------ ----- ------ ------------ --
      - ------ -------- ------ ------- --
      - ------ --------------- ------ ------ ------- --
    --
    ---------------------
  --
  • onValueChange function

当选择值发生更改时,Picker 组件调用 onValueChange 函数并传递值作为参数。

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

总结

@activatortube/react-native-form 是一个功能强大、易于使用的 React Native 表单组件。经过本文的介绍,相信你已经掌握了该组件的使用方法和 API。在实际开发中,你可以根据自己的需求来灵活运用它,实现各种类型的表单功能。

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