Skip to content

Commit 00f2054

Browse files
committed
fix: add radioGroup mouse event & radio name inherit radioGroup name
1 parent 6a7dacf commit 00f2054

File tree

2 files changed

+23
-4
lines changed

2 files changed

+23
-4
lines changed

components/radio/Group.jsx

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,16 +63,29 @@ export default {
6363
this.$emit('input', targetValue)
6464
this.$emit('change', event)
6565
},
66+
onMouseEnter (e) {
67+
this.$emit('mouseenter', e)
68+
},
69+
onMouseLeave (e) {
70+
this.$emit('mouseleave', e)
71+
},
6672
},
6773
watch: {
6874
value (val) {
6975
this.stateValue = val
7076
},
7177
},
7278
render () {
73-
const { radioOptions, classes, $slots, name } = this
79+
const { radioOptions, classes, $slots, name,
80+
onMouseEnter,
81+
onMouseLeave,
82+
} = this
7483
return (
75-
<div class={classes}>
84+
<div
85+
class={classes}
86+
onMouseenter={onMouseEnter}
87+
onMouseleave={onMouseLeave}
88+
>
7689
{radioOptions.map(({ value, disabled, label }) =>
7790
<Radio key={value} value={value} disabled={disabled} name={name}>{label}</Radio>)}
7891
{ radioOptions.length === 0 && ($slots.default || []).filter(c => c.tag || c.text.trim() !== '')}

components/radio/Radio.jsx

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -114,13 +114,19 @@ export default {
114114
},
115115
},
116116
render () {
117-
const { id, classes, checkboxClass, disabled, prefixCls,
118-
stateChecked, handleChange, name, $slots,
117+
const { id, classes, checkboxClass, prefixCls,
118+
stateChecked, handleChange, $slots,
119119
onFocus,
120120
onBlur,
121121
onMouseEnter,
122122
onMouseLeave,
123+
radioGroupContext,
123124
} = this
125+
let { name, disabled } = this
126+
if (radioGroupContext) {
127+
name = radioGroupContext.name
128+
disabled = disabled || radioGroupContext.disabled
129+
}
124130
return (
125131
<label
126132
class={classes}

0 commit comments

Comments
 (0)