angular - 错误:InvalidPipeArgument:管道“DecimalPipe”的“未定义不是数字”
问题描述
我有这个输入:
<input class="number " type= "text" pInputText [readonly]="" formControlName="id" [required]="" plmNumberFormatter [value]="data?.id | numberPipe" />
将光标放在输入上时,我得到未定义为输入中的值。
这是我的 TS:
ngOnInit() {
this.form = this.createForm();
this.keys.split(',').forEach(item => {
set(this.data, item, null);
});
这是我的管道:
transform(value: number | string, fractionSize?: number): string {
const numberValue = transformToNumber(value, this.profile.getCurrentProfile());
let retNumber = Number(numberValue);
return this.decimalPipe.transform(retNumber, this.profile.getDigitsInfo(), this.profile.getLocale());
}
怎么了?
角度版本:7.3.9
解决方案
您应该首先声明数据。如下所示:
...
public data: object = {}
...
constructor() {
this.form = this.createForm();
this.keys.split(',').forEach(item => {
set(this.data, item, null);
});
this.data = { ...this.data };
}
请注意,您没有创建对数据对象的新引用。Angular 会寻找参考变化,因此创建一个新参考很重要。
html:
<input class="number " type= "text" pInputText [readonly]="" formControlName="id" [required]="" plmNumberFormatter [value]="data.id | numberPipe" />
推荐阅读
- javascript - 有条件地比较数组的值并将其设置为变量
- c - 如何使用 Realloc 收缩字符串
- python - 如何使用 python Tkinter 创建一个智能输入字段字段来建议自动完成的单词
- javascript - 嵌套的 JSON 对象未保存到数据库 MongoDB
- python - 我不知道如何让我的 Plotly 图表只显示整数
- python - 如何将 swf 文件从内存加载到 QWebEngineView
- python - Python - 你好,我是 python 新手,我有一个变量没有在 while 循环中更新的问题,当我这样做时,它只会无限输出“你好”
- javascript - 将 DOM 事件附加到本地文件
- reactjs - 多个文件上传不起作用(Material UI Dropzone ^3.4.0,axios)
- postgresql - 在 postgres 和 Hibernate 中使用主键序列时出错