Skip to content

Input 输入框

用于接收用户输入的文本信息。

基础用法

tsx
import { Input } from '@airo-ui/react'

function Demo() {
  return <Input placeholder="请输入内容" />
}

受控与非受控

tsx
import { useState } from 'react'
import { Input } from '@airo-ui/react'

// 受控模式
function ControlledInput() {
  const [value, setValue] = useState('')
  return <Input value={value} onChange={(e) => setValue(e.target.value)} placeholder="受控输入" />
}

// 非受控模式
function UncontrolledInput() {
  return <Input defaultValue="默认内容" placeholder="非受控输入" />
}

标签与错误状态

tsx
import { Input } from '@airo-ui/react'

function Demo() {
  return (
    <>
      <Input label="用户名" placeholder="请输入用户名" />
      <Input label="邮箱" error errorMessage="邮箱格式不正确" defaultValue="invalid-email" />
    </>
  )
}

尺寸

tsx
import { Input } from '@airo-ui/react'

function Demo() {
  return (
    <>
      <Input size="sm" placeholder="小尺寸" />
      <Input size="md" placeholder="中尺寸" />
      <Input size="lg" placeholder="大尺寸" />
    </>
  )
}

禁用与只读

tsx
import { Input } from '@airo-ui/react'

function Demo() {
  return (
    <>
      <Input disabled value="禁用状态" />
      <Input readonly value="只读状态" />
    </>
  )
}

API

Props

名称类型默认值说明
valuestring受控模式当前值
defaultValuestring非受控模式默认值
type'text' | 'password' | 'email' | 'number' | 'search''text'输入类型
placeholderstring占位文本
disabledbooleanfalse是否禁用
readonlybooleanfalse是否只读
errorbooleanfalse是否处于错误状态
errorMessagestring错误提示信息
labelstring标签文本
size'sm' | 'md' | 'lg''md'尺寸
onChange(e: ChangeEvent) => void值变化时触发
onBlur(e: FocusEvent) => void失去焦点时触发
onFocus(e: FocusEvent) => void获得焦点时触发

MIT License