Skip to content

Commit 0aad835

Browse files
committed
fix(toggle): set disabled state from FormControl
1 parent 40e7eb2 commit 0aad835

File tree

3 files changed

+17
-5
lines changed

3 files changed

+17
-5
lines changed

src/components/toggle/test/basic/app-module.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ export class E2EPage {
1515

1616
appleCtrl = new FormControl(false);
1717
bananaCtrl = new FormControl(true);
18-
cherryCtrl = new FormControl(false);
19-
grapeCtrl = new FormControl(true);
18+
cherryCtrl = new FormControl({value: false, disabled: true});
19+
grapeCtrl = new FormControl({value: true, disabled: true});
2020

2121
fruitsForm = new FormGroup({
2222
'apple': this.appleCtrl,
@@ -35,7 +35,7 @@ export class E2EPage {
3535
}
3636

3737
toggleGrapeDisabled() {
38-
this.grapeDisabled = !this.grapeDisabled;
38+
this.grapeCtrl.enabled ? this.grapeCtrl.disable() : this.grapeCtrl.enable();
3939
}
4040

4141
appleChange(toggle: Toggle) {

src/components/toggle/test/basic/main.html

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,12 +35,12 @@
3535

3636
<ion-item>
3737
<ion-label>Cherry, formControlName, disabled</ion-label>
38-
<ion-toggle disabled="true" formControlName="cherry"></ion-toggle>
38+
<ion-toggle formControlName="cherry"></ion-toggle>
3939
</ion-item>
4040

4141
<ion-item>
4242
<ion-label>Grape, formControlName, checked, disabled</ion-label>
43-
<ion-toggle [checked]="grapeChecked" [disabled]="grapeDisabled" formControlName="grape"></ion-toggle>
43+
<ion-toggle [checked]="grapeChecked" formControlName="grape"></ion-toggle>
4444
</ion-item>
4545

4646
<ion-item>
@@ -53,6 +53,11 @@
5353
<ion-toggle color="danger" (ionChange)="strawberryChange($event)" [checked]="true"></ion-toggle>
5454
</ion-item>
5555

56+
<ion-item>
57+
<ion-label>disabled="true"</ion-label>
58+
<ion-toggle disabled="true"></ion-toggle>
59+
</ion-item>
60+
5661
</ion-list>
5762

5863
</form>

src/components/toggle/toggle.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -304,6 +304,13 @@ export class Toggle extends Ion implements IonicTapInput, AfterContentInit, Cont
304304
this._elementRef.nativeElement.querySelector('button').focus();
305305
}
306306

307+
/**
308+
* @private
309+
*/
310+
setDisabledState(isDisabled: boolean) {
311+
this.disabled = isDisabled;
312+
}
313+
307314
/**
308315
* @private
309316
*/

0 commit comments

Comments
 (0)