Aller au contenu principal

Input

Input inclut les styles d'erreur et de desactivation, des icones facultatives, l'affichage du mot de passe et une action de recherche.

Éditeur en direct
function InputExample() {
  const [query, setQuery] = React.useState("");

  return (
    <div className="grid w-full max-w-sm gap-4">
      <Input
        type="search"
        value={query}
        onChange={(event) => setQuery(event.target.value)}
        onRechercher={() => window.alert(`Recherchering for ${query || "everything"}`)}
        placeholder="Rechercher products"
      />
      <Input type="password" placeholder="Password" />
      <Input error defaultValue="not-an-email" type="email" />
    </div>
  );
}
Résultat
Loading...
import { Input, Search } from "niom-parts";

<Input
icon={<Search size={16} />}
iconPosition="left"
placeholder="Rechercher by product name"
/>

Cas d'utilisation courants​

Les champs peuvent gerer des donnees de profil, des valeurs numeriques, des etats en lecture seule et la validation sans modifier leur composition.

Éditeur en direct
function InputUseCases() {
  return (
    <div className="grid w-full max-w-sm gap-3">
      <Input defaultValue="Maya Chen" aria-label="Full name" />
      <Input type="number" min="1" defaultValue="2" aria-label="Quantity" />
      <Input disabled value="Managed by your organization" aria-label="Managed value" readOnly />
      <Input error aria-invalid="true" placeholder="Required field" aria-label="Invalid field" />
    </div>
  );
}
Résultat
Loading...

Proprietes​

Input accepte les attributs natifs d'un champ en plus des proprietes suivantes.

ProprieteTypeValeur par defaut
type"text" | "password" | "email" | "number" | "search" | "tel" | "url""text"
errorbooleanfalse
iconReactNode-
iconPosition"left" | "right""left"
searchButtonLabelstring"Rechercher"
onRechercherMouseEventHandler<HTMLButtonElement>-
forwardedRefForwardedRef<HTMLInputElement>-
classNamestring-