构建反应式表单时出现运行时错误

时间:2019-03-08 16:14:06

标签: dart angular-reactive-forms angular-dart

当尝试使用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();
}

任何建议将不胜感激。

1 个答案:

答案 0 :(得分:1)

'fee': Control<num>([null, PositiveNumValidator]),

应该是

'fee': Control<num>([null, PositiveNumValidator().validate]),

'fee': [null, PositiveNumValidator().validate],

另请参见