当尝试使用dartdevc在Dart中构建反应性Angular表单时,会发生此运行时错误:
Type 'List<Type>' is not a subtype of expected type 'num'.
我的buildForm()
函数中发生错误。
ControlGroup buildForm()
{
return FormBuilder.controlGroup(
{
// Error happens on the next statement
'fee': Control<num>([null, PositiveNumValidator]),
'fi': Control<num>([null, PositiveNumValidator]),
'fo': Control<num>([null, PositiveNumValidator]),
'fum': Control<num>([null, PositiveNumValidator])
});
}
如果我在Control配置中删除了<num>
,该错误将更改为:
Type 'List<Type>' is not a subtype of expected type 'String'.
该函数的整个上下文是:
class MyForm implements OnInit
{
ControlGroup form;
...
ControlGroup buildForm()
{...}
@override
ngOnInit()
form = buildForm();
}
任何建议将不胜感激。
答案 0 :(得分:1)
'fee': Control<num>([null, PositiveNumValidator]),
应该是
'fee': Control<num>([null, PositiveNumValidator().validate]),
或
'fee': [null, PositiveNumValidator().validate],
另请参见