You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PrimeNG p-inputOtp组件填完所有框后无法修改值的解决方法

解决PrimeNG p-inputOtp填满后无法修改的问题

问题分析

当p-inputOtp的所有输入框填满后,点击输入框无法直接修改内容,必须通过删除键清空后才能重新输入,这是因为组件默认未开启点击输入框时选中已有内容的功能,导致新输入的内容无法覆盖原有值。

解决方案

给p-inputOtp组件添加[selectOnFocus]="true"属性,点击任意已填满的输入框时,会自动选中框内的内容,此时直接输入新值就能覆盖原有内容,无需先删除。

修改后的代码:

<p-inputOtp
class="mt-2 gap-6"
[(ngModel)]="value"
name="otp"
[integerOnly]="true"
[autofocus]="true"
[selectOnFocus]="true"
></p-inputOtp>

补充排查点

如果设置后仍有异常,可以检查:

  • 确认PrimeNG版本为最新稳定版,旧版本可能存在组件交互bug
  • 排查是否有自定义CSS/JS代码干扰了输入框的焦点选中行为

内容的提问来源于stack exchange,提问作者Adam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 20:02:01