diff --git a/core/src/components/radio-group/radio-group.tsx b/core/src/components/radio-group/radio-group.tsx index 3e8a11c39b8..dce1c626169 100644 --- a/core/src/components/radio-group/radio-group.tsx +++ b/core/src/components/radio-group/radio-group.tsx @@ -130,7 +130,15 @@ export class RadioGroup implements ComponentInterface { * using the `name` attribute. */ const selectedRadio = ev.target && (ev.target as HTMLElement).closest('ion-radio'); - if (selectedRadio && selectedRadio.disabled === false) { + /** + * Our current disabled prop definition causes Stencil to mark it + * as optional. While this is not desired, fixing this behavior + * in Stencil is a significant breaking change, so this effort is + * being de-risked in STENCIL-917. Until then, we compromise + * here by checking for falsy `disabled` values instead of strictly + * checking `disabled === false`. + */ + if (selectedRadio && !selectedRadio.disabled) { const currentValue = this.value; const newValue = selectedRadio.value; if (newValue !== currentValue) {