我有一个 textarea 问题,如果我修改 textarea 上的内容并且(更改)被触发,它不会通过代码更改 textarea 的内容。
下面是一个例子:
应用程序组件.html
<textarea #content (change)="dosomething(content.value)">{{ thecontents | json }}</textarea>
Run Code Online (Sandbox Code Playgroud)
app.component.ts
内容;
dosomething(data) {
// this will overwrite whatever is already in the textarea
this.thecontents = { something : 'someother'};
}
Run Code Online (Sandbox Code Playgroud)
由于某种原因,文本区域在(change)触发时没有改变
为什么?我怎样才能解决这个问题?
用[value]或绑定 textarea 的内容[ngModel]:
<textarea (change)="dosomething($event.target.value)" [value]="thecontents | json"></textarea>
<textarea (change)="dosomething($event.target.value)" [ngModel]="thecontents | json"></textarea>
Run Code Online (Sandbox Code Playgroud)
有关演示,请参阅此 stackblitz。
如果您不想 ngModel 您可以使用 View Child Directive 来获得相同的结果
@ViewChild('content') con:ElementRef;
thecontents={something:''};
name='';
dosomething(data) {
// this will overwrite whatever is already in the textarea
this.con.nativeElement.value=1;
}
Run Code Online (Sandbox Code Playgroud)
我已经编辑了你的代码,请查看https://stackblitz.com/edit/angular-xjksed
| 归档时间: |
|
| 查看次数: |
18592 次 |
| 最近记录: |