web-dev-qa-db-fra.com

Désactiver l'autofocus dans le dialogue - modal dans Angular 2 / material

J'utilise le dialogue de angular matériau-2.

Le problème est le suivant: je ne peux pas désactiver la mise au point automatique lorsque la boîte de dialogue modale est ouverte, notamment sur iPhone ou tablette. Sous iOS, le premier champ de saisie de la boîte de dialogue est automatiquement focalisé!

J'ai essayé avec l'index de tabulation et l'autofocus dans un autre champ de saisie, cela ne fonctionne pas

J'utilise Angular 2 pour mon code. Dans mon dialogue, j'utilise le contrôle de formulaire. J'ai essayé d'utiliser markasuntouchedafterviewInit, mais je J'ai le même problème !!

30
Mohamad Arbash

Puisque @angular/[email protected] il y a une option spéciale autoFocus sur MatDialogConfig

/** Whether the dialog should focus the first focusable element on open. */
autoFocus?: boolean = true;

Vous pouvez donc l'utiliser comme suit:

let dialogRef = this.dialog.open(DialogOverviewExampleDialog, {
  width: '250px',
  data: { name: this.name, animal: this.animal },
  autoFocus: false   <============================== this line
});

exemple Stackblitz

58
yurzui