npm 包 @pile-ui/switch 使用教程

阅读时长 5 分钟读完

简介

@pile-ui/switch 是一个基于 React 的 UI 组件库中的 Switch 组件,该组件提供开关按钮的功能,可以通过点击或者拖动的方式实现打开和关闭状态的切换。

安装

通过 run npm 安装该组件到你的项目中:

使用

在引入组件之前,需要保证你的项目中已经安装了 ReactReactDOM 库,同时该组件是一个受控组件,所以需要引入 useState 来管理开关的状态。

组件的使用非常简单,只需要将组件放在你的 JSX 中,并传递相应的参数即可:

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

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

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

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

在上面的代码中,我们首先使用 useState 定义了一个 isOn 变量,该变量的初值为 false,同时定义了一个 handleSwitch 函数,用于处理 switch 的开关逻辑,最后在 JSX 中将 isOnhandleSwitch 作为参数传递给了 Switch 组件。

参数说明

Switch 组件共有两个必选参数,以及其他一些可选参数。需要注意的是,如果你想要设置 switch 的样式,可以直接在样式文件中覆盖组件默认的 CSS,无需在参数中指定。

必选参数

  • id:开关的唯一标识符,必须是字符串类型;
  • checked:开关的状态,必须是布尔值类型;

可选参数

  • defaultChecked:开关的默认状态,如果未传递 checked 参数,则会从该参数中获取状态,默认为 false
  • onChange:开关状态改变时的回调函数,回调函数默认传递一个事件参数,可以通过 event.target.checked 属性获取开关的状态;
  • disabled:是否禁用该开关,默认为 false

拓展

在实际使用过程中,我们可能需要对 Switch 组件进行拓展,增加更多的行为或者样式。如果你习惯使用面向对象的方式,可以通过 React 的 class 组件来拓展该组件。以下是一个简单的示例:

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

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

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

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

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

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

在上面的代码中,我们定义了一个 MySwitch 组件,继承自 React.Component,并重写了 handleChangerender 函数。同时,我们增加了一些额外的参数校验,包括必选参数 id 和可选参数 disabled

最后我们在 render 函数中返回的是 Switch 组件,将继承自父类的其他参数通过 this.props 传递给子组件。在 handleChange 函数中,我们通过更新子组件状态来实现开关状态的修改,并触发传递下来的 onChange 回调函数。

这样,我们可以通过 MySwitch 组件来代替 Switch 组件,同时可以进行更多的拓展和定制化。

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

纠错
反馈