哪个@angular/*包是bug的来源?
不知道/其他
这是一个回归吗?
否
描述
这里给出的重置FormGroup的示例与FormGroup.reset()
的输入不匹配。根据输入,{value: 'name', disabled: true}
是无效的。FormGroup.reset()
的输入应该接受{value: T, disabled: boolean}
作为FormControl,因为这是功能的工作方式。
请提供一个最小复现bug的链接
https://replit.com/@david-snyder-in/Typing-Issues#src/app/app.component.ts
请提供您看到的异常或错误
Type '{ value: string; disabled: true; }' is not assignable to type 'string'.
请提供您发现此bug的环境(运行ng version
)
Angular CLI: 17.3.2
Node: 20.9.0
Package Manager: npm 10.1.0
OS: win32 x64
Angular: 17.3.2
... animations, cdk, cli, common, compiler, compiler-cli, core
... forms, language-service, material, platform-browser
... platform-browser-dynamic, router
Package Version
---------------------------------------------------------
@angular-devkit/architect 0.1703.2
@angular-devkit/build-angular 17.3.2
@angular-devkit/core 17.3.2
@angular-devkit/schematics 17.3.2
@angular/fire 17.0.1
@schematics/angular 17.3.2
rxjs 7.8.1
typescript 5.4.3
zone.js 0.14.4
还有其他信息吗?
- 无响应*
3条答案
按热度按时间j9per5c41#
JeanMeche,我可以开始处理这个问题吗?
4jb9z9bj2#
这看起来像是一个Typescript类型错误。在Typescript中,为变量分配类型是有帮助的。例如,语法如下:
let name:string = ver.go
我们说一个名为
name
的变量是一个字符串,并为其分配了一个值。错误信息表示
first
应该是一个字符串,但你试图将其类型设置为'{value:string, disabled:true}'。请注意
{value: 'name', disabled: true}
的格式与错误信息{value:string, disabled:true}
相匹配。我很难理解错误信息,但我会尝试以下操作:form.reset({ form.first: {value: 'name', disabled: true}, form.last: 'last' });
eivgtgni3#
看起来文档在这里给出了错误的指导。因为根据您的示例,
form.reset
的类型是:如您所见,它遍历提供的对象并为每个控件调用
reset
方法。AbstractControl
的重置类型是这意味着传递的
disabled: true
值似乎被读取为FormControl
值的一部分,而不是FormControl
修饰符。最佳选项是: