目前我使用 angular 15 和 angular 14 作为反应形式的禁用输入字段我使用 [attr.disabled]="disableField ? true : null" 这个属性 在我将角度版本 14 更新到 15 后它不起作用
改变禁用状态是 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)。