Material-ui: Comment déclencher le focus () par programme sur le champ de sélection?

Créé le 16 nov. 2017  ·  3Commentaires  ·  Source: mui-org/material-ui


Mes formulaires d'application utilisent le bouton Entrée pour tabuler dans les champs spécifiés pour la vitesse sur un clavier à dix touches. Lorsque enter est frappé, nous faisons une recherche DOM et déclenchons focus () sur l'élément suivant. Cela fonctionne très bien sur les champs de texte, mais je ne comprends pas comment accomplir cela sur une zone de sélection. Je peux obtenir chacun des éléments DOM qui composent la structure Select, mais déclencher focus () à n'importe quel niveau ne fait rien.
Remarque: je suis capable de saisir la référence de l'élément via inputRef sur le select pour nous empêcher de traverser le DOM mais cela ne donne toujours aucun résultat.
Merci d'avance pour tout guidage!

  • [x] J'ai recherché les problèmes de ce référentiel et je pense que ce n'est pas un doublon.

Comportement prévisible


La sélection devient focalisée (mais pas ouverte) lorsque la mise au point () est déclenchée manuellement. Attendez-vous au même comportement que frappersur l'élément précédent.

Comportement actuel


Le déclenchement de node.focus () ne fait rien, ni ne se déclenche sur aucun élément de la structure DOM de sélection.

Étapes à suivre pour reproduire (pour les bogues)


https://codesandbox.io/s/m43qqyo2zy

  1. Sélectionnez la première zone de texte.
  2. Appuyez sur la touche Entrée.
  3. Remarquez que la deuxième zone de texte est focalisée sur FTW.
  4. Appuyez à nouveau sur la touche Entrée.
  5. Rien ne se passe.

Le contexte

Votre environnement

| Tech | Version |
| -------------- | --------- |
| Material-UI | 1.0.0-beta.21 |
| React | 16.1.0 |
| navigateur | Chrome 62 |
| etc | |

question

Commentaire le plus utile

Au cas où quelqu'un trébucherait ici avec un problème similaire: cela fonctionne: https://stackoverflow.com/questions/47353384/how-to-programmatically-trigger-focus-on-material-ui-select-field

Tous les 3 commentaires

@zachariahtimothy Je ne suis pas convaincu que ce soit un problème avec MUI. Il semble que vous ayez un nettoyage de formulaire à faire. Rendez-vous sur Stack Overflow pour des questions sur l'utilisation de la bibliothèque. À votre santé! 😄

@ m2mathew Je vois ce que vous dites, je vais poser la question sur le débordement de pile.
Mon avis est que si la sélection de MUI est impossible à traiter comme un élément de formulaire natif en termes d'événements, ce serait un problème avec la bibliothèque. Je l'ai essayé avec le drapeau natif qui a fonctionné, donc cela me fera passer, mais n'a tout simplement pas la beauté que je désire comme la sélection remplacée :).
Merci pour la réponse et la superbe bibliothèque!

Au cas où quelqu'un trébucherait ici avec un problème similaire: cela fonctionne: https://stackoverflow.com/questions/47353384/how-to-programmatically-trigger-focus-on-material-ui-select-field

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

sys13 picture sys13  ·  3Commentaires

reflog picture reflog  ·  3Commentaires

FranBran picture FranBran  ·  3Commentaires

finaiized picture finaiized  ·  3Commentaires

ghost picture ghost  ·  3Commentaires