Angular中<input>标签的(onChange)事件无法触发怎么办?
解决建议
- 修正事件绑定名称:Angular里原生
<input>(包括PrimeNG的pInputText增强输入框)的变更事件是(change),不是(onChange)——后者是部分PrimeNG组件(如下拉框、复选框)的自定义事件名,输入框遵循原生DOM事件规范。修改后的代码:<input [style]="{'width':'80px'}" pInputText type="number" min="0" max="999" (change)="myUpdateFunction($event)"> - 实时触发用(input)事件:如果需要用户输入时立刻触发函数(而非失去焦点时),换成
(input)事件:<input [style]="{'width':'80px'}" pInputText type="number" min="0" max="999" (input)="myUpdateFunction($event)"> - 检查TS函数定义:确保组件TS文件中
myUpdateFunction正确定义,能接收$event参数,示例:myUpdateFunction(event: Event): void { const inputElement = event.target as HTMLInputElement; // 处理输入值,比如: console.log(inputElement.value); // 你的业务逻辑代码 }
内容的提问来源于stack exchange,提问作者Tim
相关产品推荐
相关产品推荐

