使用 primeng TurboTable 的 incell 编辑,我尝试通过单击 Enter 键来执行方法。以下是代码:
<td pEditableColumn>
<p-cellEditor>
<ng-template pTemplate="input">
<input type="text" [(ngModel)]="rowData.vin" (keyup.enter)="onKeyPress($event)">
</ng-template>
<ng-template pTemplate="output">
{{rowData.vin}}
</ng-template>
</p-cellEditor>
</td>
问题在于,方法onKeyPress
不是通过点击enterKey来执行的。所以我尝试使用 keypress
如下:
<td pEditableColumn>
<p-cellEditor>
<ng-template pTemplate="input">
<input type="text" [(ngModel)]="rowData.vin" (keypress)="onKeyPress($event)">
</ng-template>
<ng-template pTemplate="output">
{{rowData.vin}}
</ng-template>
</p-cellEditor>
</td>
我注意到,方法 onKeyPress
是通过单击除 Enter 键之外的任何按钮来执行的。
最佳答案
我尝试使用 keydown
而不是 Keyup
并且效果很好
<td pEditableColumn>
<p-cellEditor>
<ng-template pTemplate="input">
<input type="text" [(ngModel)]="rowData.vin"
(keydown.enter)="onKeyDown($event)">
</ng-template>
<ng-template pTemplate="output">
{{rowData.vin}}
</ng-template>
</p-cellEditor>
</td>
关于html - TurboTable primeng 输入 EnterKey,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51745339/