el-radio-group 组件提供的 @change 事件确实只在用户点击不同选项时触发。这是因为在同一选项内点击不会引起值的变化,所以不会触发 @change 事件。如果你想要监听每次点击事件,包括同一选项内的点击,如果使用 @click 事件来代替 @change 事件,事件点击没反应,
时间: 2024-02-05 07:11:33 浏览: 220
这是因为 el-radio-group 组件内部的每个选项其实是一个 el-radio 组件,而 el-radio 组件并没有提供 @click 事件。不过你可以通过设置 el-radio 组件的 label-position 属性为 "top" 或 "bottom",来使得 el-radio 组件内部的 label 可以接收到鼠标点击事件,然后在 label 上绑定 @click 事件即可实现每次点击都触发的效果。例如:
```html
<el-radio-group v-model="radio" @change="handleChange">
<el-radio label="1" :label-position="labelPosition" @click="handleClick">选项一</el-radio>
<el-radio label="2" :label-position="labelPosition" @click="handleClick">选项二</el-radio>
<el-radio label="3" :label-position="labelPosition" @click="handleClick">选项三</el-radio>
</el-radio-group>
```
```javascript
export default {
data() {
return {
radio: '1',
labelPosition: 'right'
};
},
methods: {
handleChange(val) {
console.log(val);
},
handleClick(event) {
console.log(event);
}
}
};
```
阅读全文