web-dev-qa-db-ja.com

Ionicが機能しない

私は調査を行ってきましたが、これはIonicコミュニティでは珍しい問題や質問ではないようです。ビュー入力のある単純なフォームがあります:

<input type="text" id="firstName" placeholder="First Name" ng-model="registerData.firstName">
...

次に、コントローラーでフィールドに焦点を合わせようとします。

document.getElementById("firstName").focus();

もちろんそれは機能しないので、私が見たいくつかの投稿が示唆しているように、私は Ionic Keyboard Plugin を追加する必要があります。私は実行することによってそうします:

cordova plugin add https://github.com/driftyco/ionic-plugins-keyboard.git

そして、どうやらこれをconfig.xmlでwelとして設定する必要があります。

<preference name="KeyboardDisplayRequiresUserAction" value="false"/>
<feature name="Keyboard">
  <param name="ios-package" onload="true" value="IonicKeyboard"/>
</feature>

そして、どうやらすべてが機能するはずです...しかし、そうではありません。足りないものはありますか?

7
user818700

autofocusを使用することもできますが、これはページを初めて開いたときにのみ機能するため、このディレクティブを試してください。それは私にとって魅力のように機能します。
JS:

angular.module('app').directive('focusMe',['$timeout',function ($timeout) {
  return {
    link: function (scope, element, attrs) {
      if (attrs.focusMeDisable === "true") {
        return;
      }
      $timeout(function () {
        element[0].focus();
        if (window.cordova && window.cordova.plugins && window.cordova.plugins.Keyboard) {
          cordova.plugins.Keyboard.show(); //open keyboard manually
        }
      }, 350);
    }
  };
}]);

HTML:

<input type="text" id="firstName" placeholder="First Name" ng-model="registerData.firstName" focus-me focus-me-disable={{disableFlag}}>
10
Mudasser Ajaz