Les propriétés n'ont aucun effet lors de l'utilisation disabled
de propriétés formControlName
conjointement avec disabled
.
formControlName
Est Angular
une directive dans , utilisée pour lier les contrôles de formulaire et gérer automatiquement l'état et la valeur des contrôles de formulaire . Lors de formControlName
la liaison d'un contrôle de formulaire à l'aide de , il sera responsable du contrôle de l'état désactivé du contrôle.
Si vous souhaitez désactiver un formControlName
contrôle de formulaire lié par , vous pouvez utiliser disable()
la méthode :
import {
Component } from '@angular/core';
import {
FormControl } from '@angular/forms';
@Component({
selector: 'my-component',
template: `
<form [formGroup]="myForm">
<input formControlName="myControl" [disabled]="isDisabled">
<button (click)="toggleDisabled()">Toggle Disabled</button>
</form>
`
})
export class MyComponent {
myForm: FormGroup;
isDisabled: boolean = false;
constructor() {
this.myForm = new FormGroup({
myControl: new FormControl()
});
}
toggleDisabled() {
if (this.isDisabled) {
this.myForm.get('myControl').enable();
} else {
this.myForm.get('myControl').disable();
}
this.isDisabled = !this.isDisabled;
}
}
Utilisez pour myForm.get('myControl')
lier formControlName
le contrôle de formulaire et utilisez enable()
les méthodes et disable()
pour basculer son état désactivé. Lorsque vous cliquez sur le bouton « Toggle Disabled », isDisabled
la propriété change de valeur pour désactiver et activer le contrôle.