androidスマホでパスワードがうまく入力できない問題でハマった


問題

  • android限定でパスワードが入力できないと報告があった
  • 開発端末では再現しない

問題のコード

<input type="password"
       ([value])="pass"
       (input)="pass = $event.target.value"
       placeholder="パスワードをご入力ください">

色々おかしいだろ的な指摘は置いておいて。。。。

調査

  • 日本語入力モードだと、変換候補が出る前に入力が確定されてマスク処理されていた
  • android6以降が多かったので仮想デバイスで動かしてみたら、ソフトウェアキーボードが表示されないIMEを発見

原因

  • 根本的な原因は不明だが、inputイベントが悪さをしていたようだった

対処

  • changeイベントに変更したところ、自動で入力が確定されることがなくなった
<input type="password"
       (change)="pass = $event.target.value"
       placeholder="パスワードをご入力ください">

感想

  • angular難しい。webviewアプリ辛い。