我是Angular的新手,我需要帮助编写一个事件,可以将更改后的值从表传递给我的组件。 下面是表格单元格,以便当用户更改该值时,应将其传递给component.ts。
HTML:
<tbody contenteditable='true'>
<tr *ngFor="let item of calendarTableSelected">
<td input type="text" (ngModelChange)="saveCalendar($event)" [ngModel]="name.value" *ngFor="let name of item.results" name="promoOne" ngDefaultControl>
{{name.value}}
</td>
</tr>
</tbody>
Component.ts:
saveCalendar($event): void {
console.log("Updated Value" + this.tableValue); // updated value
this.body = {
"promotionname": this.promotionname,
"period": this.period,
"indicator": this.indicator,
"value": this.value
};
this.services.saveCalendar(this.body)
.then(
response => {
if (response == "Success") {
this.firstPage(this.clickedItem);
}
}
);
}
但它没有触发事件。 如果我在这里遗漏任何东西,请帮助我。
答案 0 :(得分:1)
您的HTML似乎没有正确格式化。尝试在表格单元格中添加输入。 name属性也必须是唯一的:
<tbody>
<tr *ngFor="let item of calendarTableSelected">
<td>
<input type="text" *ngFor="let name of item.results" (ngModelChange)="saveCalendar($event)" [ngModel]="name.value" [name]="name.value"/>
</td>
</tr>
</tbody>