Aller au contenu principal

Champ de saisie

Saisie et validation manuelle de contenu ; prend en charge le mode contrôlé / non contrôlé, la limite de caractères, l'effacement et l'auto-adaptation multiligne.

Utilisation de base​

Saisie contrôlée

Valeur actuelle : (vide)

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="Champ de saisie contrôlé" />
}

Fonctionnalités​

Effacement / limite de caractères / mot de passe / multiligne auto-adaptatif
0/10
import { LhInput } from '@lh-ui/react'

export default function Demo() {
return (
<>
<LhInput placeholder="Effaçable" clearable />
<LhInput placeholder="Limite de caractères" maxlength={10} showWordLimit />
<LhInput placeholder="Mot de passe" type="password" />
<LhInput
placeholder="Saisie multiligne"
type="textarea"
autosize={{ minRows: 2, maxRows: 4 }}
/>
</>
)
}

Input Props​

PropDescriptionTypeOptionsValeur par défaut
valueValeur contrôléestring——
defaultValueValeur par défaut en mode non contrôléstring——
typeType natif'text' | 'password' | 'number' | 'email' | 'tel' | 'url' | 'search' | 'textarea' | ...—'text'
placeholderEspace réservéstring—Repli du pack de langue (zh-CN : 请输入)
disabledDésactivéboolean—false
readonlyLecture seuleboolean—false
maxlengthLongueur maximale de saisie (tronquée au-delà)number——
showWordLimitAfficher le comptage des caractèresboolean—false
clearableEffaçableboolean—false
showPasswordAffichage / masquage du mot de passe (lorsque type vaut password, un bouton en forme d'œil est rendu en suffixe ; nouveauté React)boolean—false
autosizeHauteur multiligne auto-adaptativeboolean | { minRows?: number; maxRows?: number }—false
labelLibellé flottantstring——
prefixIcon / suffixIconIcônes de préfixe / suffixeLhIconName——
sizeTaille'large' | 'middle' | 'small'—Selon ConfigProvider
nameAttribut name natifstring——
themeVarsVariables de thème au niveau du composantRecord<string, string>——
sxRaccourci de mise en pageSxProps——

Événements de Input​

ÉvénementDescriptionSignature du rappelÉquivalent Vue
onChangeChangement de valeur (deux paramètres)(value: string, event: ChangeEvent) => void@change
onInputÉvénement natif de saisie(event: InputEvent) => void@input
onFocusPrise de focus(event: FocusEvent) => void@focus
onBlurPerte de focus(event: FocusEvent) => void@blur
onClearClic sur le bouton d'effacement(event: MouseEvent) => void@clear
onKeyDownÉvénement clavier natif(event: KeyboardEvent) => void@keydown
Les deux paramètres de onChange

onChange(value, event) est isomorphe au emit('change', [val, e]) de lh-ui-plus, afin de faciliter les migrations. Voir le guide de migration.

ref​

forwardRef<HTMLInputElement | HTMLTextAreaElement> — l'élément natif focusable.

Styles​

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