【问题标题】:Primeng p table value change eventprimeng p表值变化事件
【发布时间】:2019-12-07 13:12:34
【问题描述】:

我正在尝试在primeng p 表上更改任何可编辑单元格值时调用该方法。我尝试使用 onEditComplete 事件,但它只会在我编辑单元格并按 Enter 时触发。当我编辑单元格并移出鼠标时,它不会触发。谁能建议我应该在这里添加的正确事件是什么?

<p-table [value]="sampleData" [scrollable]="true" scrollHeight="200px" [resizableColumns]="true"
            (onEditComplete)="getLandLineTotal($event)">
            <ng-template pTemplate="header">
                <tr>
                    <th>Col 1</th>
                    <th>Col 2</th>
                    <th>Col 3</th>
                </tr>
            </ng-template>
            <ng-template pTemplate="body" let-rowData>
                <tr>
                    <td style="width: 10%">
                        {{rowData.col1}}
                    </td>
                    <td>
                        {{rowData.col2}}
                    </td>
                    <td pEditableColumn>
                        <p-cellEditor>
                            <ng-template pTemplate="input">
                                <input pInputText type="text" [(ngModel)]="rowData.col3"  required>
                            </ng-template>
                            <ng-template pTemplate="output">
                                {{rowData.col3| currency}}
                            </ng-template>
                        </p-cellEditor>
                    </td>
                </tr>
            </ng-template>
        </p-table>

【问题讨论】:

  • 也许您可以尝试向单元格 OnEditInit 添加一个侦听器,以便它在失去焦点时执行 getLandLineTotal。这有点意大利面,但我从未使用过编辑选项,所以我无法给你一个正确的答案。

标签: primeng primeng-table


【解决方案1】:

代替:

<td pEditableColumn>

试试:

<td [pEditableColumn]="sampleData.col3" [pEditableColumnField]="'col3'">

开发者控制台应该显示:

{field: "col3", data: <whatever you entered into the text box>}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-09-19
    • 1970-01-01
    • 1970-01-01
    • 2017-08-19
    • 2017-09-05
    • 2018-10-21
    • 2020-11-02
    • 1970-01-01
    相关资源
    最近更新 更多