我需要能够在发生某些事件时将焦点切换到输入元素.我如何在Angular 2中做到这一点?
例如:
<input (keyUp)="processKeyUp($event)"/>
<input (focusme)="alert('i am focused')"/>
Run Code Online (Sandbox Code Playgroud)
我希望在第一个按下某个键时聚焦第二个输入框.我想我需要使用自定义事件(focusme在代码片段中),但我不知道在何处或如何声明它,以及是否为其使用@Directive注释,或以某种方式将其定义包含在组件中.总之,我很难过.
UPDATE
忘了提,我知道我可以通过在html中使用局部变量来做到这一点,但我希望能够从组件中做到这一点,并且我希望能够在触发focusme事件时执行复杂的逻辑,以便控件可以监听它可以确定它是否适合他们.谢谢!
在我的角度项目中有角度材料并使用mat-select.Mat-select是我的表格设置自动对焦的第一个元素,而页面已成功加载,但我无法在mat-select上设置自动对焦.任何人都可以帮我找到在mat-select中设置自动对焦的方法.
@ViewChild("name") nameField: ElementRef;
ngOninit() {
this.nameField.nativeElement.focus();
}
Run Code Online (Sandbox Code Playgroud)
HTML
<div>
<mat-select [(ngModel)]="nameField" #name>
<mat-option *ngFor="let option of options2" [value]="option.id">
{{ option.name }}
</mat-option>
</mat-select>
</div>
Run Code Online (Sandbox Code Playgroud)