如何专注于首先隐藏的输入,但只需点击一下按钮即可打开?自动对焦属性仅在第一次使用时才会生效,并且' nativeElement'未定义的。在jQuery上,一切都很简单,但我不需要它。
<input type="text" *ngIf="isVisible" #test autofocus>
<button (click)="testAction()">Test</button>
@ViewChild('test') test: ElementRef;
isVisible = false;
testAction() {
this.isVisible = !this.isVisible;
this.test.nativeElement.focus();
}
答案 0 :(得分:0)
我做了类似于你所问的事情;但是,我是用指令做的:
import { Directive, ElementRef, Input, OnChanges } from '@angular/core';
@Directive({
selector: '[afnFocus]'
})
export class FocusDirective implements OnChanges {
@Input() afnFocus: boolean;
constructor(private el: ElementRef) { }
ngOnChanges() {
if (this.afnFocus) {
this.el.nativeElement.focus();
}
}
}
然后将指令放在元素上并将其绑定到布尔值isVisible
。
答案 1 :(得分:0)
另一种方法
head