メインコンテンツへスキップ

Input 入力フィールド

手動入力と内容のバリデーションを担います。制御 / 非制御、文字数制限、クリア、複数行の自适应などをサポートします。

基本的な使い方​

制御入力

現在の値:(空)

import { useState } from 'react'
import { LhInput } from '@lh-ui/react'

export default function Demo() {
const [value, setValue] = useState('')

return <LhInput value={value} onChange={(val) => setValue(val)} placeholder="制御入力フィールド" />
}

特徴​

クリア / 文字数制限 / パスワード / 複数行自适应
0/10
import { LhInput } from '@lh-ui/react'

export default function Demo() {
return (
<>
<LhInput placeholder="クリア可能" clearable />
<LhInput placeholder="文字数制限" maxlength={10} showWordLimit />
<LhInput placeholder="パスワード欄" type="password" />
<LhInput
placeholder="複数行入力"
type="textarea"
autosize={{ minRows: 2, maxRows: 4 }}
/>
</>
)
}

Input Props​

プロパティ説明型使用可能な値デフォルト値
value制御値string——
defaultValue非制御のデフォルト値string——
typeネイティブタイプ'text' | 'password' | 'number' | 'email' | 'tel' | 'url' | 'search' | 'textarea' | ...—'text'
placeholderプレースホルダーstring—言語パックのフォールバック(zh-CN:请输入)
disabled無効boolean—false
readonly読み取り専用boolean—false
maxlength最大入力長(超えると切り詰め)number——
showWordLimit文字数カウントを表示boolean—false
clearableクリア可能boolean—false
showPasswordパスワードの表示切替(type が password の時、接尾部に目のボタンを描画。React による初出)boolean—false
autosize複数行の高さ自适应boolean | { minRows?: number; maxRows?: number }—false
label浮動ラベルstring——
prefixIcon / suffixIcon前後の接頭 / 接尾アイコンLhIconName——
sizeサイズ'large' | 'middle' | 'small'—ConfigProvider に準拠
nameネイティブ name 属性string——
themeVarsコンポーネントレベルのテーマ変数Record<string, string>——
sxクイックレイアウトプロパティSxProps——

Input イベント​

イベント説明コールバックシグネチャVue 対応
onChange値の変化(2 引数)(value: string, event: ChangeEvent) => void@change
onInputネイティブ入力イベント(event: InputEvent) => void@input
onFocusフォーカス取得(event: FocusEvent) => void@focus
onBlurフォーカス喪失(event: FocusEvent) => void@blur
onClearクリアボタンのクリック(event: MouseEvent) => void@clear
onKeyDownネイティブキーボードイベント(event: KeyboardEvent) => void@keydown
onChange の 2 引数

onChange(value, event) は lh-ui-plus の emit('change', [val, e]) と同型で、移行しやすくなっています。詳しくは移行ガイドを参照してください。

ref​

forwardRef<HTMLInputElement | HTMLTextAreaElement> —— フォーカス可能なネイティブ要素です。

スタイル​

import '@lh-ui/react/style/input'