Focus polymère () sur l'élément <paper-input> ou <core-input>

Existe-t-il un moyen de focaliser l'entrée de base ou l'élément d'entrée de papier?

Ce que je veux atteindre est: mettre le curseur sur l'élément de saisie afin que l'utilisateur puisse commencer à taper.

De cette façon, il ne sera pas obligé de cliquer sur l'élément avant d'écrire.

core-input manque de focus()/blur() API, c'est essentiellement un bug.

Pour l'instant, vous pouvez le faire:

<reference to a core/paper-input>.$.input.focus();

Core-input a maintenant une méthode .focus() , elle .focus() à la mise au point interne focus()

Du code core-input.html :

 focus: function() { this.$.input.focus(); } 

Ce qui signifie que dans votre propre code, vous devez l'appeler comme suit:

 elem[0].focus() 

Dans mon cas, j'appelle le focus depuis un timeout . Dans ce cas, une bind est nécessaire pour que core-input puissent utiliser correctement:

 $timeout(elem[0].focus.bind(elem[0])); 

.focusAction (); Fonctionne de manière légèrement plus agréable, les en-têtes flottants réagiront correctement si elles sont activées.

Pour ceux qui utilisent Polymer 1.0 (pas OP au moment du post)

Pour la première entrée papier, vous pouvez définir la mise au point avec ceci:

  $('paper-input input').first().focus(); 

Vous pouvez également sélectionner par identifiant pour une entrée papier spécifique:

  $('#myValue input').focus();