【问题标题】:Angular 8 : (keyup.enter) is not triggering for readonly html inputAngular 8 : (keyup.enter) 不会触发只读 html 输入
【发布时间】:2020-04-11 19:30:06
【问题描述】:

我试图在用户按下 Enter 后触发一个函数。我将此输入设为只读的原因是限制用户在填充值后修改输入中的值。

该值来自将在 click 属性中触发的弹出窗口。问题是 keyup.enter 没有触发该输入。

下面是代码:

<input type="text" [(ngModel)]="display.name"
  (click)="openProfile()" (keyup.enter)="submitProfile()" readonly
/>

<button (click)="submitProfile()" type="submit">
  Submit
</button>

【问题讨论】:

  • 我无法复制它。它对我来说很好用:stackblitz.com/edit/…
  • 是浏览器特有的问题吗?
  • 您是否尝试将[(ngModel)] 更改为[ngModel]
  • @CristianTraìna 我试过了,但似乎还是不行:(

标签: javascript html angular typescript


【解决方案1】:

你可以设置属性:

[readonly]="isValuePapulated"

[disabled]="isValuePapulated"

或仅使用:

[ngModel]="display.name"
(ngModelChanged)=onModelChanged($event)
// in component:
public onModelChanged(value: any): void {
    if (isValuePapulated) {
       return;
    }

   this.display.name = value;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-30
    • 1970-01-01
    • 2020-05-15
    相关资源
    最近更新 更多