diff --git a/src/mixins/checkbox.js b/src/mixins/checkbox.js index 00d27c9be..0ebfd1bc0 100644 --- a/src/mixins/checkbox.js +++ b/src/mixins/checkbox.js @@ -52,7 +52,7 @@ export const CheckboxMixin = ({ parent, bem, role }) => ({ const { target } = event; const labelClicked = label && (label === target || label.contains(target)); - if (!this.disabled && !(labelClicked && this.labelDisabled)) { + if (!this.isDisabled && !(labelClicked && this.labelDisabled)) { this.toggle(); } diff --git a/src/radio/test/index.spec.js b/src/radio/test/index.spec.js index 571b6ae3e..d95da8664 100644 --- a/src/radio/test/index.spec.js +++ b/src/radio/test/index.spec.js @@ -43,3 +43,34 @@ test('radio-group change', () => { labels.at(3).trigger('click'); expect(wrapper.vm.result).toEqual('b'); }); + +test('radio group disabled', () => { + const wrapper = mount({ + template: ` + + + label + + + `, + components: { + Radio, + RadioGroup + }, + data() { + return { + result: 'a', + list: ['a', 'b', 'c', 'd'] + }; + } + }); + + const icons = wrapper.findAll('.van-radio__icon'); + icons.at(2).trigger('click'); + + expect(wrapper.emitted('change')).toBeFalsy(); +});