[attr.disabled]=true 不以反应形式工作 angular 15

问题描述 投票:0回答:1

目前我使用 angular 15 和 angular 14 作为反应形式的禁用输入字段我使用 [attr.disabled]="disableField ? true : null" 这个属性 在我将角度版本 14 更新到 15 后它不起作用

angular forms reactive disabled-input disabled-control
1个回答
1
投票

改变禁用状态是 Angular 15 的一个变化。

此行为更改是由使

setDisabledState
始终被调用的修复引起的。以前,使用
[attr.disabled]
会导致您的视图与模型不同步。

如果你正在使用 Reactive Forms?尝试在您的模型上设置禁用,而不是您的模板。尝试

new FormControl({value: 'foo', disabled: true})
。或者在 ngOnInit 中调用
myControl.disable()
。 如果您想退出修复。确保您使用的是 15.1.0 或更高版本并导入
FormsModule.withConfig({callSetDisabledState: 'whenDisabledForLegacyCode'})
(或 ReactiveFormsModule,如果您使用的是 ReactiveFormsModule)。

© www.soinside.com 2019 - 2024. All rights reserved.