【问题标题】:Angular: form group binding for checkboxes not setting default value after migrating to version 6Angular:复选框的表单组绑定在迁移到版本 6 后未设置默认值
【发布时间】:2019-02-24 17:45:17
【问题描述】:

我有一个使用 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 方法的默认值应该用作用户尚未触摸复选框。我错了吗?上一个版本的发布有什么变化吗?

谢谢。

【问题讨论】:

    标签: angular typescript data-binding formgroups


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2015-03-24
      • 2018-12-05
      • 2019-01-25
      • 2023-03-05
      • 2014-10-16
      • 1970-01-01
      • 2019-05-02
      • 2020-04-11
      • 2019-09-25
      相关资源
      最近更新 更多