我正在尝试更新未绑定(bind)到组件中 <form> 的输入值,并且我的研究使我使用了 Angular 提供的 Renderer2 服务。

所以我的输入看起来像这样:

<input type="text" #zipEl placeholder="Enter zip">
<button type="button" (click)="getLocation()">
   <span>Use current location</span>
</button>

在我的组件中,我试图像这样简单地设置值:
@ViewChild('zipEl') zipEl:ElementRef;

constructor(private renderer: Renderer2) {

}

getLocation() {
    this.renderer.setValue(this.zipEl, '94085');
}

虽然什么都没有发生。当我单击按钮运行该函数时,输入框永远不会使用 94085 更新其值。有谁知道我在这里做错了什么?

提前致谢!

最佳答案

我相信你需要使用 setProperty :

getLocation() {
    this.renderer.setProperty(this.zipEl.nativeElement, 'value', '94085');
}

关于angular - Ionic 3/Angular 2 - Renderer2.setValue() 不更新我的输入字段的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44958466/

10-13 04:22