2016-10-20 6 views
0

私は正の整数を取らなければならない入力フィールドを持つイオンを使ってアプリケーションを書いています。私は今、私の問題は、iOSの上で数値入力がFULL番キーボード(私は数学記号を使用することができる)であるということである種類hereイオン2はプラットフォームに基づいて入力タイプを区別する

<ion-item> 
    <ion-input #input type="number" min="0" inputmode="numeric" [(ngModel)]="..." pattern="[0-9]" required placeholder="Access Code"></ion-input> 
</ion-item> 

を見上げています。 iOSのために私は

TEL

タイプを使用したいが、アンドロイドのために、私は

入力タイプを維持したいです。各プラットフォームで2つの別々のHTMLページを作成せずにこれを行う方法はありますか?これによると

答えて

1

:正しい結果を生み出している

<input type="number" pattern="[0-9]*" inputmode="numeric"> 

Phone: numeric keyboard for text input

私はこのような入力を持っている必要があります。アスタリスクがありませんでした。

2

Ionic Docsによって示されているように、あなたのTSファイルにこれを追加することができます。

import { Platform } from 'ionic-angular'; 

constructor(platform: Platform) { 
     this.platform = platform; 
} 

その後...あなたのhtml、使用中の 'ngIf' プラットフォームがAndroidまたはiOSであるかどうかを確認するには:

<ion-item> 
    <ion-input *ngIf="platform.is('android')" #input type="number" min="0" inputmode="numeric" [(ngModel)]="..." pattern="[0-9]" required placeholder="Access Code"></ion-input> 
    <ion-input *ngIf="platform.is('ios')" #input type="tel" min="0" inputmode="numeric" [(ngModel)]="..." pattern="[0-9]" required placeholder="Access Code"></ion-input> 
</ion-item> 
+0

恐ろしい!これありがとう!私は、パターン= [0-9] *を含めることによってテンキーパッドを得ることができ、同じ入力タイプを使用できることを発見しました。 –

+1

うんざりしていますね、もう少し解答 – alsco77

+0

'showWhen'や' hideWhen'ディレクティブを使用することをお勧めしますので、** TS **ファイルには何も読み込む必要はありません。 – developer033

関連する問題