0

我有一个使用 angular2/3/4 构建的应用程序。我有一个控制器,它FormGroup使用如下所示的代码初始化一个(初始化在其构造函数中完成):

this.funcoes = this._fb.group({
      "cliente": [false],
      "gestorRecursos": [false],
      "motorista": [false],
      "gestorUtilizadores": [false]
  }, { validator: ValidacoesPersonalizadas.verificaExistenciaSelecao} );

这是其中一个复选框的 HTML:

<input type="checkbox" value="cliente" id="cliente" name="cliente" formControlName="cliente" />

迁移到版本 6 后,我注意到如果用户没有“选中/取消选中”与组成组的每个表单控件关联的复选框,那么尝试获取其值将返回 null(而不是默认值) :

const isClient = this.funcoes.get("cliente").value; //null, if user does not click

我知道我已经有几个月没有真正活跃在 Angular 中了,但我的印象是,group在组设置期间传递给方法的默认值应该用作用户没有触摸时的值复选框。我错了吗?上一个版本的发布有什么变化吗?

谢谢。

4

1 回答 1

0

好的,找到了。角度没有错:)

在某个地方,有一个reset调用由传递给其中一个字段(在向导中)的特定值触发。在实践中,这最终会使所有值都归零(这就是不使用初始默认值的原因)。

于 2018-09-20T13:07:31.723 回答