返回

React 组件:15分钟学成输入框、密码可见、滑块、复选框、下拉选择器

前端

在 React 中构建交互式应用程序离不开各种表单组件,如输入框、密码可见切换、滑块、复选框、下拉选择器等。本文将通过五个简单的步骤,手把手教你如何用 React 创建这些组件,让你的应用程序界面更加美观实用。

1. 创建 React 应用程序

首先,我们需要创建一个新的 React 应用程序。你可以使用 Create React App (CRA) 工具来快速搭建一个项目。在命令行中输入以下命令:

npx create-react-app my-app

2. 安装必要的依赖项

为了实现这些表单组件,我们需要安装一些第三方库。在项目根目录下,运行以下命令:

npm install react-input-field material-ui-slider react-select

3. 构建输入框组件

首先,我们从最基础的输入框组件开始。在 src 目录下创建一个名为 InputField.js 的文件,并输入以下代码:

import React from "react";
import { InputField } from "react-input-field";

const MyInputField = () => {
  return <InputField placeholder="Enter your name" />;
};

export default MyInputField;

4. 实现密码可见切换组件

接下来,我们创建一个密码可见切换组件。在 src 目录下创建一个名为 PasswordRevealer.js 的文件,并输入以下代码:

import React, { useState } from "react";
import { TextField, IconButton } from "@material-ui/core";
import { Visibility, VisibilityOff } from "@material-ui/icons";

const PasswordRevealer = () => {
  const [visible, setVisible] = useState(false);

  const handleClick = () => {
    setVisible(!visible);
  };

  return (
    <TextField
      type={visible ? "text" : "password"}
      label="Password"
      variant="outlined"
      InputProps={{
        endAdornment: (
          <IconButton onClick={handleClick}>
            {visible ? <VisibilityOff /> : <Visibility />}
          </IconButton>
        ),
      }}
    />
  );
};

export default PasswordRevealer;

5. 创建滑块组件

现在,我们来实现一个滑块组件。在 src 目录下创建一个名为 Slider.js 的文件,并输入以下代码:

import React from "react";
import { Slider } from "material-ui-slider";

const MySlider = () => {
  const [value, setValue] = useState(0);

  const handleChange = (event, newValue) => {
    setValue(newValue);
  };

  return <Slider value={value} onChange={handleChange} />;
};

export default MySlider;

6. 构建复选框组件

接下来,我们创建一个复选框组件。在 src 目录下创建一个名为 MultiselectCheckbox.js 的文件,并输入以下代码:

import React from "react";
import { MultiselectCheckbox } from "react-select";

const options = [
  { value: "chocolate", label: "Chocolate" },
  { value: "strawberry", label: "Strawberry" },
  { value: "vanilla", label: "Vanilla" },
];

const MyMultiselectCheckbox = () => {
  const [selectedOptions, setSelectedOptions] = useState([]);

  const handleChange = (selectedOptions) => {
    setSelectedOptions(selectedOptions);
  };

  return (
    <MultiselectCheckbox
      options={options}
      value={selectedOptions}
      onChange={handleChange}
    />
  );
};

export default MyMultiselectCheckbox;

7. 实现下拉选择器组件

最后,我们来创建一个下拉选择器组件。在 src 目录下创建一个名为 Select.js 的文件,并输入以下代码:

import React from "react";
import { Select } from "react-select";

const options = [
  { value: "chocolate", label: "Chocolate" },
  { value: "strawberry", label: "Strawberry" },
  { value: "vanilla", label: "Vanilla" },
];

const MySelect = () => {
  const [selectedOption, setSelectedOption] = useState(null);

  const handleChange = (selectedOption) => {
    setSelectedOption(selectedOption);
  };

  return (
    <Select
      options={options}
      value={selectedOption}
      onChange={handleChange}
    />
  );
};

export default MySelect;

8. 使用这些组件

现在,你已经创建了这些组件,就可以在你的 React 应用程序中使用它们了。在你的 App.js 文件中,导入这些组件并将其添加到你的 UI 中。

import React from "react";
import MyInputField from "./InputField";
import PasswordRevealer from "./PasswordRevealer";
import MySlider from "./Slider";
import MyMultiselectCheckbox from "./MultiselectCheckbox";
import MySelect from "./Select";

const App = () => {
  return (
    <div>
      <MyInputField />
      <PasswordRevealer />
      <MySlider />
      <MyMultiselectCheckbox />
      <MySelect />
    </div>
  );
};

export default App;

9. 运行应用程序

现在,你可以运行你的应用程序并查看这些组件是否正常工作。在命令行中输入以下命令:

npm start

你的应用程序将在本地服务器上运行,你可以在浏览器中打开它来查看这些组件。

结论

通过本文,你已经学会了如何使用 React 创建五个常见的表单组件:输入框、密码可见切换、滑块、复选框和下拉选择器。这些组件可以帮助你构建更具交互性和用户友好的应用程序。