Je veux utiliser un Autocomplete
composant pour les balises d'entrée. J'essaie d'obtenir les balises et de les enregistrer sur un état afin de pouvoir les enregistrer plus tard dans la base de données. J'utilise des fonctions au lieu de classes dans React. J'ai essayé avec onChange
, mais je n'ai obtenu aucun résultat.
<div style={{ width: 500 }}>
<Autocomplete
multiple
options={autoComplete}
filterSelectedOptions
getOptionLabel={option => option.tags}
renderInput={params => (<TextField
className={classes.input}
{...params}
variant="outlined"
placeholder="Favorites"
margin="normal"
fullWidth />)} />
reactjs
material-ui
Buk Lau
la source
la source
Êtes-vous sûr d'avoir utilisé
onChange
correctement?onChange
signature :function(event: object, value: any) => void
la source
@Dworo
Pour toute personne qui a un problème avec l'affichage d'un élément sélectionné dans la liste déroulante du champ de saisie.
J'ai trouvé une solution de contournement. Fondamentalement, vous devez lier un
inputValue
atonChage
à la foisAutocomplete
et l'TextField
interface utilisateur matérielle merdique.la source
Lors de l'utilisation du code ci-dessus, je ne parviens toujours pas à obtenir la case de saisie semi-automatique pour afficher l'option sélectionnée. Des idées les gars?
la source
J'avais besoin d'appuyer sur mon api à chaque changement d'entrée pour obtenir mes balises du backend!
Utilisez Material-ui onInputChange si vous voulez obtenir vos balises suggérées à chaque changement d'entrée!
la source
Je voulais mettre à jour mon état lorsque je sélectionne une option dans la saisie semi-automatique. J'avais un gestionnaire onChange global qui gère toutes les entrées
Cela met à jour l'objet dynamiquement en fonction du nom du champ. Mais sur la saisie semi-automatique, le nom revient vide. J'ai donc changé le gestionnaire de
onChange
enonSelect
. Ensuite, créez une fonction distincte pour gérer la modification ou, comme dans mon cas, ajoutez une instruction if pour vérifier si le nom n'est pas transmis.L'approche ci-dessus fonctionne si vous avez une seule saisie semi-automatique. Si vous en avez plusieurs, vous pouvez passer une fonction personnalisée comme ci-dessous
la source