【问题标题】:How to permanently disable capslock button in ionic 3 from keypad on mobile?如何从手机上的键盘永久禁用 ionic 3 中的大写锁定按钮?
【发布时间】:2018-08-26 09:10:01
【问题描述】:

在我的 ionic3 应用程序中,我希望用户只能输入小写字母,因此我想永久禁用 Caps Lock 按钮。

我用的是autocapitalize='off',但它只是第一次工作,用户可以关闭它。

我应该怎么做才能解决这个问题?

这是我的代码

<ion-item no-padding transparent>
                <ion-label floating>{{data.username}}</ion-label>
                <ion-input required type="text" [(ngModel)]="username" formControlName="text" autocapitalize='off'></ion-input>
            </ion-item>
            <!---Input field password-->
            <ion-item no-padding transparent>
                <!--<ion-icon name="lock"></ion-icon>-->
                <ion-label floating>{{data.password}}</ion-label>
                <ion-input required type="password" [(ngModel)]="password" formControlName="password"></ion-input>
            </ion-item>

【问题讨论】:

  • 能否请您添加这些输入的代码?
  • 请检查...我已经添加了我的代码
  • 谢谢。我已经添加了一个答案,如果它对你有用,请告诉我。
  • 你检查过这个吗? stackoverflow.com/q/35826325/5468463

标签: angular typescript ionic2 ionic3


【解决方案1】:

您可以创建自己的directive 以确保输入的内容始终为小写。该指令如下所示:

import { Directive, EventEmitter, HostListener, Output } from '@angular/core';

@Directive({
  selector: '[ngModel][lowercase]'
})
export class LowercaseDirective {
  @Output() ngModelChange: EventEmitter<any> = new EventEmitter();
  value: any;

  @HostListener('input', ['$event']) onInputChange($event) {
    this.value = $event.target.value.toLowerCase();
    this.ngModelChange.emit(this.value);
  }
}

然后您可以在输入中使用它,如下所示:

<!-- Notice the lowercase attribute in the ion-input element -->

<ion-item no-padding transparent>
  <ion-label floating>Type some uppercase letters here...</ion-label>
  <ion-input required type="text" lowercase [(ngModel)]="text"></ion-input>
</ion-item>

也请看一下这个工作演示Stackblitz demo

【讨论】:

  • 嗨@sebaferreras,此代码不起作用,它给出错误解析器错误:在ng:///中[用户名|lowercase=$event]的第11列的动作表达式中不能有管道LoginPageModule/LoginPage.html@22:53 ("n-label floating>{{data.username}} ][(ngModel)]= "用户名 |小写" formControlName="text" >
  • 糟糕,抱歉!我已经更新了答案,还包括了一个 Stackblitz 项目,这样你就可以看到输入工作正常@GAURAV
  • @GAURAV 你能看看这个答案吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多