首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >角5 ngModelOptions updateOn多桩事件

角5 ngModelOptions updateOn多桩事件
EN

Stack Overflow用户
提问于 2018-04-30 06:36:03
回答 1查看 4.3K关注 0票数 1

我希望用多个事件更新我的输入模型:目前,我已经看到了角5支持一个事件,例如ngModelOptions={updateOn:'blur'}。

我可以有多个,例如:ngModelOptions={updateOn:‘模糊提交’}

我认为这在角1中是支持的。

soultion

我想更新两个事件的模式-模糊和提交:

  1. 我使用ngModelOptions={updateOn:' blur '} -这将更新模糊模式。
  2. 一旦用户将按回车-我将模糊从输入。我这样做是通过表单标签上的一个指令:

10倍到Itay b.m的指令!!

代码语言:javascript
复制
@Directive({

    selector: '[enterEvent]',   

    host: { '(keypress)': 'onkeydown($event)'}

})

export class EnterEventDirective {

    constructor() {      

    }  

    onkeydown(event) {     

        if (event.key == "Enter") {           

            event.target.blur();

        }

    }

}
EN

回答 1

Stack Overflow用户

发布于 2018-07-18 08:02:26

为此,您可以像这样使用submit按钮。

代码语言:javascript
复制
<button type="submit" (click)="submitbtn.focus();submit();" #submitbtn>Submit</button>

因此,当用户按enter键时,它将触发模糊事件,因为焦点转移到提交按钮。如果禁用“提交”按钮,则此操作将无效。

样本代码:

代码语言:javascript
复制
    <form #myForm="ngForm">
        <input type="text" class="form-control" id="name" required [(ngModel)]="model.name" name="name" [ngModelOptions]="{updateOn: 'blur'}"
         #spy>
        <br>TODO: remove this: {{spy.className}}
        <br>
        <input type="text" class="form-control" id="name" required [(ngModel)]="model.name1" name="name1" [ngModelOptions]="{updateOn: 'blur'}"
         #spy1>
        <br>TODO: remove this: {{spy1.className}}
        <br>
        <button type="submit" class="btn btn-success" (click)="submitbtn.focus();submit();" #submitbtn>Submit</button>
        <br> {{output}}
    </form>

角级:

代码语言:javascript
复制
export class AppComponent  {
  model={
    name:"",
    name1:""
  }
  output="";

  submit(){
    this.output=JSON.stringify(this.model);
  }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50095143

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档