📜  Spectre Forms 输入组(1)

📅  最后修改于: 2023-12-03 14:47:31.667000             🧑  作者: Mango

Spectre Forms 输入组介绍

Spectre Forms 是一个基于 React 的输入组件库,提供了丰富的输入组件,如文本框、多选框、下拉框等,同时支持自定义样式和表单验证。

安装

使用 npm 安装:

npm install spectre-forms
使用

在 React 组件中引入所需的组件即可使用:

import { Input, Checkbox, Select } from 'spectre-forms';

function MyForm() {
  return (
    <form>
      <Input placeholder="请输入用户名" />
      <Checkbox label="同意协议" />
      <Select label="选择城市" options={['北京', '上海', '广州']} />
    </form>
  );
}
组件列表
Input

文本框组件,提供了基本的文本输入功能。

<Input type="text" placeholder="请输入内容" />

支持的 props:

  • type: 文本框类型,默认为 text
  • placeholder: 占位符
Checkbox

多选框组件,提供了单选和多选功能。

<Checkbox label="选项一" />

支持的 props:

  • label: 选项标签
  • value: 选中值,可用于受控组件
Select

下拉框组件,提供了单选和多选功能。

<Select label="请选择" options={['选项一', '选项二', '选项三']} />

支持的 props:

  • label: 下拉框标签
  • options: 选项列表
  • value: 选中值,可用于受控组件
自定义样式

Spectre Forms 支持通过样式覆盖来自定义组件样式。

例如,你可以为 Input 组件添加自定义样式:

import { Input } from 'spectre-forms';
import './MyInput.css'; // 引入自定义样式

function MyInput(props) {
  return <Input className="my-input" {...props} />;
}

同时,在 MyInput.css 中编写相应的样式:

.my-input {
  border-radius: 5px;
  border: 2px solid #ddd;
  padding: 10px;
}
表单验证

Spectre Forms 支持通过 onChange 事件和 validators 属性实现表单验证。

例如,你可以为 Input 组件添加验证器:

import { Input } from 'spectre-forms';

function MyForm() {
  const [value, setValue] = useState('');

  const handleInputChange = (e) => {
    setValue(e.currentTarget.value);
  };

  const validators = [
    {
      validate: (value) => value.length > 0,
      message: '用户名不能为空',
    },
    {
      validate: (value) => value.length <= 10,
      message: '用户名不能超过10个字符',
    },
  ];

  return (
    <form>
      <Input
        placeholder="请输入用户名"
        value={value}
        onChange={handleInputChange}
        validators={validators}
      />
    </form>
  );
}

在示例中,我们使用了 useState 声明了一个状态 value,使用 handleInputChange 监听 Input 组件的 onChange 事件,并更新状态 value。我们还为 Input 组件设置了 validators 属性,并传入了一个验证器数组,其中 validate 函数用于验证输入是否符合要求, message 用于设置错误信息。

结语

以上是 Spectre Forms 输入组件库的介绍,它提供了丰富的输入组件、自定义样式和表单验证功能,希望对你有所帮助!