我有一个p表,其中包含可编辑列。我需要做的是,当字段 Year 的值发生更改时,我可以获取并使用它。首先,我希望能够在控制台上显示它。为此,我使用 onEditComplete
函数
HTML 文件:
<p-table [columns]="cols" [value]="cars">
<ng-template pTemplate="header" let-columns>
<tr>
<th>ID</th>
<th>Year</th>
</tr>
</ng-template>
<ng-template pTemplate="body" let-rowData let-columns="columns">
<tr>
<td pEditableColumn>
<p-cellEditor>
<ng-template pTemplate="input ">
<input type="text" [(ngModel)]="rowData.id">
</ng-template>
<ng-template pTemplate="output">
{{rowData.id}}
</ng-template>
</p-cellEditor>
</td>
<td pEditableColumn [pEditableColumn]="rowData"
[pEditableColumnField]="'year'" (onEditComplete)="onEditComplete(rowData)">
<p-cellEditor>
<ng-template pTemplate="input">
<input type="text" [(ngModel)]="rowData.year" required>
</ng-template>
<ng-template pTemplate="output">
{{rowData.year}}
</ng-template>
</p-cellEditor>
</td>
<td pEditableColumn>
</tr>
</ng-template>
</p-table>
TS 文件:
onEditComplete (event) {console.log(event);}
但是通过更改“年份”字段,然后按 Tab 或 Enter,我没有得到任何输出。 你能帮我找出问题所在吗?
最佳答案
我通过从 td
中删除 (onEditComplete)="onEditComplete(rowData)"
并添加 (onEditComplete)="onEditComplete($event) 解决了这个问题“
到 p 表
:
<p-table [columns]="cols" [value]="cars" (onEditComplete)="onEditComplete($event)">
//........
<td pEditableColumn [pEditableColumn]="rowData" [pEditableColumnField]="'year'" >
//...
</p-table>
关于angular - onEditComplete 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51459314/