<TextField type="number" min="0" max="10" step="1" />
devrait compiler avec Typescript
Recevez l'erreur Typecript suivante pour min, similaire pour max et step: [ts] Property 'min' does not exist on type 'IntrinsicAttributes & TextFieldProps & { children?: ReactNode; }'.
| Tech | Version |
| -------------- | --------- |
| Material-UI | 1.0.0-beta.21 |
| React | 16,0,0 |
| Dactylographié | 2.6.1 |
Est-ce que ça marche?
<TextField type="number" inputProps={{ min: "0", max: "10", step: "1" }} />
Oui ça marche. inputProps
accepte un objet avec quelque chose dedans, cependant, je désactive effectivement le système de types en le faisant de cette façon.
Oui ça marche.
inputProps
accepte un objet avec quelque chose dedans, cependant, je désactive effectivement le système de types en le faisant de cette façon.
Bon point, j'ai ouvert # 9321 pour corriger la saisie de inputProps
.
inputProps
est destiné à permettre _tout ce qui se passe_ sur un InputComponent
. Cela permet une intégration ouverte avec des composants externes, pour lesquels nous ne connaissons malheureusement pas ou n'avons pas de types.
Exemple:
import * as MaskedInput from 'react-text-mask'
<TextField
InputProps={{
inputComponent: MaskedInput,
}}
inputProps={{
guide: false,
mask,
placeholderChar: '\u2000',
}}
type="tel"
value={value}
/>
Donc, l'alternative pour éviter les inputProps
fortement typés dans le même scénario (merci @pelotom) est
import { InputProps as MuiInputProps } from 'material-ui/Input'
<TextField
InputProps={{
inputComponent: (inputProps: MuiInputProps) => (
<MaskedInput {...inputProps} guide={false} mask={mask} placeholderChar="\u2000" />
),
}}
type="tel"
value={value}
/>
@pelotom dépose une nouvelle proposition / problème pour revoir cette API.
@rosskevin
MaskedInput n'est pas défini,
le masque n'est pas défini
:(
Cela semble être une solution de contournement trop compliquée
Il serait préférable de les définir au niveau TextField, afin que la validation puisse être effectuée sans un tas de logique répétée partout. Je détesterais avoir à étendre TextField chaque fois que je veux l'utiliser pour un champ numérique avec des exigences min / max / step.
Commentaire le plus utile
Est-ce que ça marche?