我在Angular 2中構建了一個組件,並且我試圖在加載模式後在之後將焦點設置在特定輸入上。Angular2 - 在模態加載後專注於輸入
這裏是我心中已經迄今所做的:
@Component({
selector: 'login',
templateUrl: './login.component.html'
})
export class LoginComponent {
showModal: boolean = false;
@ViewChild('username1') el: ElementRef;
constructor(private elementRef: ElementRef, private modalService: ModalService {
this.modalService.LoginModal.subscribe((show) => {
this.showModal = show;
if (show) {
$('#modal_login_root').modal();
this.el.nativeElement.focus();
}
else {
$('#modal_login_root').modal('hide');
}
});
}
和我輸入的是:
<input #username1 type="email" class="form-control email active" name="username"
placeholder="{{ 'Login_EmailField' | translate }}" [(ngModel)]="username" />
和它不工作:(
這裏添加自動對焦例如使用ElementRef HTTPS: //sackoverflow.com/a/40537428/924646 –
我會建議使用ng2-bootstrap for your modals:https://valor-software.com/ngx-bootstrap/#/modals –