如何禁用表单类型检查

问题描述 投票:0回答:1
embedFormGroup = this.formBuilder.group({
  withLogin: [''],
   expiredTime: this.formBuilder.group({
    day: ['', Validators.min(0)],
    hour: ['', Validators.max(24)]
  }),
  embedUrl: ['']
});

然后

this.embedFormGroup.get('withLogin').patchValue(1)

TS2345:“数字”类型的参数不可分配给“字符串”类型的参数。

有没有办法在不改变表单初始值的情况下解决这个问题呢? 因为我的项目中有很多这样的错误

angular typescript forms angular-material typechecking
1个回答
0
投票

您可能应该在帖子正文中指定什么平台/语言。无论如何,我能想到的唯一方法就是类型转换。

看起来像: this.embedFormGroup.get('withLogin').patchValue((1).toString())

这会在修补值之前将数字 1 转换为字符串,这应该可以解决 TypeScript 错误。请记住,这只是一种解决方法,根据您的用例,可能不是最佳解决方案。确保表单控件的类型与您正在使用的数据类型匹配通常是一个很好的做法。如果 withLogin 预计是一个数字,那么最好将其初始化为数字。但是,如果您的项目中有很多此类错误并且更改所有初始值不可行,则此解决方法可以提供帮助。

© www.soinside.com 2019 - 2024. All rights reserved.