Skip to content

Commit b8ee301

Browse files
brandyscarneyjgw96
authored andcommitted
fix(toggle/checkbox): allow value to be programmatically updated while disabled (#10304)
fixes #9730
1 parent 305cc62 commit b8ee301

File tree

4 files changed

+21
-2
lines changed

4 files changed

+21
-2
lines changed

src/components/checkbox/checkbox.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ export class Checkbox extends Ion implements IonicTapInput, AfterContentInit, Co
158158
* @private
159159
*/
160160
_setChecked(isChecked: boolean) {
161-
if (!this._disabled && isChecked !== this._checked) {
161+
if (isChecked !== this._checked) {
162162
this._checked = isChecked;
163163
if (this._init) {
164164
this.ionChange.emit(this);

src/components/checkbox/test/basic/app.module.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,9 @@ export class E2EPage {
2727
'grape': this.grapeCtrl
2828
});
2929

30+
public checked: boolean = false;
31+
public disabled: boolean = false;
32+
3033
constructor() {
3134
this.grapeChecked = true;
3235
this.standAloneChecked = true;

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

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,4 +88,20 @@
8888

8989
<pre aria-hidden="true" padding>{{formResults}}</pre>
9090

91+
<ion-item>
92+
<ion-label>Checkbox / Toggle</ion-label>
93+
<ion-checkbox [(ngModel)]="checked" [disabled]="disabled"></ion-checkbox>
94+
<ion-toggle [(ngModel)]="checked" [disabled]="disabled"></ion-toggle>
95+
</ion-item>
96+
<ion-item>
97+
<ion-label>checked</ion-label>
98+
<ion-checkbox [(ngModel)]="checked"></ion-checkbox>
99+
<ion-toggle [(ngModel)]="checked"></ion-toggle>
100+
</ion-item>
101+
<ion-item>
102+
<ion-label>disabled</ion-label>
103+
<ion-checkbox [(ngModel)]="disabled"></ion-checkbox>
104+
<ion-toggle [(ngModel)]="disabled"></ion-toggle>
105+
</ion-item>
106+
91107
</ion-content>

src/components/toggle/toggle.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -229,7 +229,7 @@ export class Toggle extends Ion implements IonicTapInput, AfterContentInit, Cont
229229
* @private
230230
*/
231231
_setChecked(isChecked: boolean) {
232-
if (!this._disabled && isChecked !== this._checked) {
232+
if (isChecked !== this._checked) {
233233
this._checked = isChecked;
234234
if (this._init) {
235235
this.ionChange.emit(this);

0 commit comments

Comments
 (0)