前言
本文使用了lable关联选中,实际使用中如果不需要,直接将循环语句 v-for 写在 input标签上就可以
1、使用v-for循环的radio单选框,需要注意的是,这是使用的是 change 事件,而不是 click 点击事件
<template>
<div>
<label v-for="(item, index) in radioData" :key="index">
<input
type="radio"
v-model="radioVal"
:value="item.value"
@change="getRadioVal"
/>
{{ item.value }}
</label>
</div>
</template>
<script>
export default {
data() {
return {
radioData: [
{ value: 'A' },
{ value: 'B' },
{ value: 'C' }
],
radioVal: 'A' // 用于设置默认选中项
};
},
methods: {
getRadioVal() {
console.log(this.radioVal);
}
}
};
</script>
2、不使用v-for循环的radio单选框,需要注意的是,这是使用的是 change 事件,而不是 click 点击事件
<template>
<div>
<label><input v-model="radioVal" type="radio" value="1" @change="getRadioVal">1</label>
<label><input v-model="radioVal" type="radio" value="2" @change="getRadioVal">2</label>
<label><input v-model="radioVal" type="radio" value="3" @change="getRadioVal">3</label>
</div>
</template>
<script>
export default {
data() {
return {
radioVal: 1 // 用于设置默认选中项
};
},
methods: {
getRadioVal() {
console.log(this.radioVal);
}
}
};
</script>
点击每一项获得当前项的value值,快去试试吧!