Aym*_*ari 3 typescript angular
我有一个电子邮件输入,我希望当我在输入中写入大写字母时,它会将它们转换为小写字母
我尝试了这个方法,但它显示了一个错误
错误范围错误:超出最大调用堆栈大小
<input type="text" formControlName="mail" (ngModelChange)="toLowerCase($event)">
private toLowerCase(event): void {
this.cmOrganizationForm.get('mail').setValue(event.toLowerCase());
}
Run Code Online (Sandbox Code Playgroud)
ngModelChange当您使用响应式表单时,请不要使用事件。
监听valueChanges表单控件的订阅并设置订阅下的值,设置emitEvent为 false,这样就不会valueChanges再次发出事件。
试试这个,这不会emit再次发生 valueChanges 事件
private ngOnInit(): {
this.cmOrganizationForm.get('mail').valueChanges.subscribe((event) => {
this.cmOrganizationForm.get('mail').setValue(event.toLowerCase(), {emitEvent: false});
})
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7753 次 |
| 最近记录: |