vue实现单选
Vue 实现单选功能
在 Vue 中实现单选功能可以通过多种方式完成,常见的方法包括使用原生 HTML 的 <input type="radio"> 结合 Vue 的数据绑定,或者使用第三方 UI 库如 Element UI、Vant 等提供的单选组件。
使用原生 HTML 单选按钮
通过 v-model 绑定数据,实现单选功能。以下是一个简单的示例:

<template>
<div>
<label>
<input type="radio" v-model="selectedOption" value="option1" />
Option 1
</label>
<label>
<input type="radio" v-model="selectedOption" value="option2" />
Option 2
</label>
<label>
<input type="radio" v-model="selectedOption" value="option3" />
Option 3
</label>
<p>Selected option: {{ selectedOption }}</p>
</div>
</template>
<script>
export default {
data() {
return {
selectedOption: '',
};
},
};
</script>
使用 Element UI 的单选组件
如果项目中使用了 Element UI,可以通过 <el-radio> 或 <el-radio-group> 快速实现单选功能:

<template>
<div>
<el-radio-group v-model="selectedOption">
<el-radio label="option1">Option 1</el-radio>
<el-radio label="option2">Option 2</el-radio>
<el-radio label="option3">Option 3</el-radio>
</el-radio-group>
<p>Selected option: {{ selectedOption }}</p>
</div>
</template>
<script>
export default {
data() {
return {
selectedOption: '',
};
},
};
</script>
使用 Vant 的单选组件
在移动端项目中,可以使用 Vant 的 <van-radio-group> 和 <van-radio> 组件:
<template>
<div>
<van-radio-group v-model="selectedOption">
<van-radio name="option1">Option 1</van-radio>
<van-radio name="option2">Option 2</van-radio>
<van-radio name="option3">Option 3</van-radio>
</van-radio-group>
<p>Selected option: {{ selectedOption }}</p>
</div>
</template>
<script>
export default {
data() {
return {
selectedOption: '',
};
},
};
</script>
自定义单选组件
如果需要更灵活的单选功能,可以自定义一个单选组件:
<template>
<div>
<div
v-for="option in options"
:key="option.value"
@click="selectOption(option.value)"
:class="{ active: selectedOption === option.value }"
>
{{ option.label }}
</div>
</div>
</template>
<script>
export default {
data() {
return {
selectedOption: '',
options: [
{ value: 'option1', label: 'Option 1' },
{ value: 'option2', label: 'Option 2' },
{ value: 'option3', label: 'Option 3' },
],
};
},
methods: {
selectOption(value) {
this.selectedOption = value;
},
},
};
</script>
<style scoped>
.active {
background-color: #f0f0f0;
}
</style>
注意事项
- 确保
v-model绑定的数据初始值为空或默认选中项的值。 - 如果需要动态生成单选选项,可以通过
v-for遍历数据源。 - 单选按钮的值通常通过
value或label属性设置,具体取决于使用的组件库。 - 在自定义组件中,可以通过 CSS 高亮显示选中的选项。
以上方法可以根据项目需求选择适合的实现方式。






