【问题标题】:How to disable an input FormControl in a Reactive Form with a condition in Angular 15?如何在 Angular 15 的条件下禁用反应形式中的输入 FormControl?
【发布时间】:2023-01-23 20:41:44
【问题描述】:

我有一个可以输入学生 ID 的表格。下面是两个输入框, 全名和电子邮件。当我加载页面时,应该只启用学生 ID 输入框,并禁用其下方的两个输入。当我输入学生 ID 时,如果它有记录,那是唯一一次启用全名和电子邮件的输入框。

当我使用 Angular 13 时,它能够处理每个输入

[attr.disable]="!isStudentIdReal"

但是,我最近更新到 Angular 15 并且它停止工作了。我能够在以下位置找到解决方案:

studentName : [{value: '', disable: true}],
email : [{value: '', disable: true}]

但是,这禁用了输入框,它不会启用它们,因为我没有条件。

【问题讨论】:

    标签: angular angularjs form-control formgroups angular15


    【解决方案1】:

    有一个关于角度 15 的 breaking change

    您将需要导入带有配置的 ReactiveFormsModule 以恢复以前的行为:

    ReactiveFormsModule.withConfig({callSetDisabledState: 'whenDisabledForLegacyCode'})
    

    另一种可能性是在 isStudentIdReal 的值更改时在 FormControl 上调用 enable()

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-10
      • 1970-01-01
      • 2017-08-07
      • 1970-01-01
      • 2018-03-21
      • 2022-01-26
      • 1970-01-01
      • 2019-06-18
      相关资源
      最近更新 更多