gpt4 book ai didi

javascript - 在输入上定义表单控件时,NgModel.viewToModelUpdate 不起作用

转载 作者:行者123 更新时间:2023-11-29 23:28:26 24 4
gpt4 key购买 nike

我想通过指令更改带有 onBlur 事件的输入的 View 和模型数据。

我写了这个函数来更新 View 和模型:

@HostListener('blur',['$event'])
blur(e:Event){
const target:HTMLInputElement = <HTMLInputElement>e.target;
const val = this.decimalPipe.transform(target.value.replace(/\,/g,''),'1.2-2');
this.ngModel.viewToModelUpdate(Number(val.replace(/\,/g,'')));
this.ngModel.valueAccessor.writeValue(val);
}

这很好用,但是当我想在输入上定义表单控件时 this.ngModel.viewToModelUpdate 对模型没有影响。

表单组代码:

form = new FormGroup({amountInput:new FormControl('',Validators.min(this.traderService.trader.sMPA)),
});

它看到忽略这个函数并将模型设置为字符串。如何将模型更新为数字?

最佳答案

尝试使用:

this.ngModel.control.patchValue(Number(val.replace(/\,/g,'')));

代替

this.ngModel.viewToModelUpdate(Number(val.replace(/\,/g,'')));

在 Angular 5 上使用 formControl 输入的自定义指令也有同样的问题。

关于javascript - 在输入上定义表单控件时,NgModel.viewToModelUpdate 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48208453/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com