【问题标题】:Angular How to make [formControl] an optional fieldAngular 如何使 [formControl] 成为可选字段
【发布时间】:2017-05-18 07:03:41
【问题描述】:

在 Angular 中,您可以向输入添加属性,并使用 attr 将它们设为可选:

<input [type]="text" [attr.id]="id">

但是如何使表单控件成为可选控件?我想要这样的东西:

<input [type]="text" [attr.formControl]="someControl">

如果 someControl 未定义或为空,formControl 不会被设置?

【问题讨论】:

  • 我无法理解您想要达到的目标。页面中的输入字段存在但未绑定到任何表单控件,因此什么都不做,这有什么意义?
  • 您这样做究竟想达到什么目的?使归档的表单控件成为可选的用途是什么?你想动态创建 formControl 吗?
  • 是的,我正在尝试创建一个接受输入并动态生成输入字段的组件。输入字段应足够灵活,可用于模板或模型驱动。
  • "用于模板或模型驱动" -- 你知道ControlValueAccessor吗?

标签: angular angular2-forms


【解决方案1】:

只要您不将必需的验证器附加到 formControl,它就被认为是表单中的可选。您的表单对于此类字段不会有任何错误,因为它们没有附加必需的验证器。它是这样附加的:

firstName: ['', Validators.required],

【讨论】:

    猜你喜欢
    • 2011-02-01
    • 2018-09-12
    • 2021-02-10
    • 1970-01-01
    • 2017-09-15
    • 2022-01-01
    • 2012-12-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多