Ionic-framework: Centrar la entrada en la ventana emergente

Creado en 18 mar. 2014  ·  7Comentarios  ·  Fuente: ionic-team/ionic-framework

Algunas ventanas emergentes deberían enfocar sus entradas primero. Sin embargo, debería probar esto para asegurarse de que funciona bien en iOS.

Comentario más útil

Tuve que agregar esta cadena de plantilla a mi mensaje para tener el enfoque automático

template: '<input ng-model="data.response" type="text" placeholder="{{ placeHolder }}" autofocus>'

Todos 7 comentarios

Las ventanas emergentes ya enfocan sus entradas primero. Sin embargo, hay un error con esto. La ventana emergente siempre enfoca el ÚLTIMO elemento de entrada. Realmente debería centrarse en el primero.

Foro: http://forum.ionicframework.com/t/popup-with-multiple-text-input-fields-always-focuses-on-2nd-input/4956/2
Muestra: http://codepen.io/calendee/pen/duvsl?editors=101

PR llegará en unos minutos.

Encuentro que esto funciona muy bien en la web, pero no en iOS ... el código se ejecuta, pero la entrada no se enfoca ni el teclado se abre.

@michaelnatkin : En su config.xml, asegúrese de tener esta configuración:

<preference name="KeyboardDisplayRequiresUserAction" value="false" />

iOS no permitirá que un campo se enfoque y se abra el teclado a menos que se establezca en falso.

@calendee OMG gracias !! Problema resuelto. Equipo Ionic, sería bueno agregar esa nota al documento ionicPopup.

@calendee Funciona en iOS pero esto no funciona en dispositivos Android. ¿O hay algo que olvidé?

@felquis , tuve el mismo problema. Después de ver este problema y el # 1176, finalmente encontré https://github.com/driftyco/ionic/commit/49a295638d6c60b7e17936cfb345665f6b1954d1 , y pude arreglar mi aplicación usando una plantilla con una entrada enfocada automáticamente:

diff --git a/www/js/app.js b/www/js/app.js
index 8e7afcd..1131dfb 100644
--- a/www/js/app.js
+++ b/www/js/app.js
@@ -57,6 +57,7 @@ angular.module('todo', ['ionic'])
   $scope.newProject = function() {
     $ionicPopup.prompt({
       title: 'Project name',
+      template: '<input autofocus>'
     })
     .then(createProject)
   };

Tuve que agregar esta cadena de plantilla a mi mensaje para tener el enfoque automático

template: '<input ng-model="data.response" type="text" placeholder="{{ placeHolder }}" autofocus>'

¿Fue útil esta página
0 / 5 - 0 calificaciones