角度模糊输入

时间:2018-04-20 18:37:51

标签: javascript angular

我想从控制器“模糊”(或不聚焦等)输入元素。

我参考了输入@ViewChild('searchInput') searchInput: ElementRef

这有效:

this.searchInput.nativeElement.focus()

但这似乎不是:

this.searchInput.nativeElement.blur()

2 个答案:

答案 0 :(得分:1)

可以尝试在组件中使用Renderer,注入渲染器,并在想要模糊时调用下面的代码

this.renderer.invokeElementMethod(this.searchInput.nativeElement, 'blur', []);

答案 1 :(得分:0)

在Angular 5+中,不推荐使用Renderer,并且Renderer2没有invokeElementMethod,但是您的示例应该可以使用。在没有看到更多代码的情况下,我唯一想到的就是您没有将模板引用添加到标记中的输入中:

模板

<input #myInput id="example" name="example" formControlName="example ...>

控制器

@ViewChild('myInput') public myInput: ElementRef<HTMLElement>;

// ...

public onSubmit() {
  this.myInput.nativeElement.blur();
}