Respostas:
Esse é um caso de uso para @ViewChild:
https://angular.io/docs/ts/latest/api/core/index/ViewChild-decorator.html
class XComponent {
@ViewChild('ipt', { static: true }) input: ElementRef;
ngAfterViewInit() {
// this.input is NOW valid !!
}
somefunction() {
this.input.nativeElement......
}
}
Aqui está uma demonstração de trabalho:
https://stackblitz.com/edit/angular-viewchilddemo?file=src%2Fapp%2Fapp.component.ts
ngAfterViewInit()ser disparado. Você precisa importar ViewChildde '@ angular / core` ..
this.ipt.nativeElement.setAttribute('value', 'xxx');mas nada acontece. E não existem métodos como value()ou setValue(), mesmo que eu o declare do tipo HTMLInputElement (estou baseando isso na sugestão de código / autocomplete do IDE). No meu caso, não me importo em ler o valor. Eu só preciso definir valores diferentes.
setPropertytambém tentou ?
this.input.nativeElement.value = 'test'funcionar ?! talvez haja comportamentos especiais com formulários e suas ligações.