离子2区分基于平台的输入类型

时间:2016-10-20 10:16:53

标签: html ionic2

我正在使用离子编写应用程序,其中我有一个必须采用正整数的输入字段。我查找了类型here

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

现在我的问题是在iOS上数字输入是全编号键盘(我可以使用数学符号)。对于iOS,我想使用

  

电话

键入但是对于android我想保留

  

输入类型。有没有办法在不为每个平台制作2个独立的html页面的情况下做到这一点?

2 个答案:

答案 0 :(得分:3)

Ionic Docs所示,您可以将其添加到您的TS文件中:

 import { Platform } from 'ionic-angular';

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

然后..在你的HTML中,使用&#39; ngIf&#39;检查平台是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>

答案 1 :(得分:1)

根据这个: Phone: numeric keyboard for text input

我需要输入如下:

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

哪个产生了正确的结果。我错过了星号。