当前位置:首页 > VUE

vue单选按钮代码实现

2026-02-22 23:29:19VUE

Vue 单选按钮实现方法

在 Vue 中实现单选按钮通常使用 v-model 绑定数据,结合 v-for 动态渲染选项。以下是几种常见实现方式:

vue单选按钮代码实现

基础实现

<template>
  <div>
    <label>
      <input type="radio" v-model="selected" value="option1">
      Option 1
    </label>
    <label>
      <input type="radio" v-model="selected" value="option2">
      Option 2
    </label>
    <p>Selected: {{ selected }}</p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      selected: ''
    }
  }
}
</script>

动态选项渲染

<template>
  <div>
    <label v-for="option in options" :key="option.value">
      <input type="radio" v-model="selected" :value="option.value">
      {{ option.text }}
    </label>
    <p>Selected: {{ selected }}</p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      selected: '',
      options: [
        { value: 'opt1', text: 'Option 1' },
        { value: 'opt2', text: 'Option 2' },
        { value: 'opt3', text: 'Option 3' }
      ]
    }
  }
}
</script>

使用组件库

使用 Element UI 的 Radio 组件:

vue单选按钮代码实现

<template>
  <el-radio-group v-model="radio">
    <el-radio :label="1">Option 1</el-radio>
    <el-radio :label="2">Option 2</el-radio>
  </el-radio-group>
</template>

<script>
export default {
  data() {
    return {
      radio: 1
    }
  }
}
</script>

表单验证

配合 VeeValidate 进行表单验证:

<template>
  <div>
    <label v-for="option in options" :key="option.value">
      <input 
        type="radio" 
        v-model="selected" 
        :value="option.value"
        name="options"
        v-validate="'required'"
      >
      {{ option.text }}
    </label>
    <span v-show="errors.has('options')">{{ errors.first('options') }}</span>
  </div>
</template>

样式定制

使用 CSS 自定义单选按钮样式:

<template>
  <div class="radio-group">
    <label class="radio-label" v-for="option in options" :key="option.value">
      <input 
        type="radio" 
        v-model="selected" 
        :value="option.value"
        class="radio-input"
      >
      <span class="radio-custom"></span>
      {{ option.text }}
    </label>
  </div>
</template>

<style>
.radio-input {
  position: absolute;
  opacity: 0;
}

.radio-custom {
  display: inline-block;
  width: 16px;
  height: 16px;
  border: 2px solid #ccc;
  border-radius: 50%;
  margin-right: 8px;
  position: relative;
}

.radio-input:checked + .radio-custom {
  border-color: #409EFF;
}

.radio-input:checked + .radio-custom::after {
  content: '';
  display: block;
  width: 8px;
  height: 8px;
  background: #409EFF;
  border-radius: 50%;
  position: absolute;
  top: 2px;
  left: 2px;
}
</style>

以上代码示例展示了 Vue 中单选按钮的不同实现方式,可根据项目需求选择合适的方法。

标签: 单选按钮
分享给朋友:

相关文章

vue实现按钮弹窗

vue实现按钮弹窗

实现按钮弹窗的基本方法 在Vue中实现按钮点击触发弹窗功能,可以通过多种方式完成。以下是几种常见实现方法: 使用原生HTML和Vue指令 通过v-if或v-show控制弹窗显示状态,结合点击事件切换…

css按钮制作

css按钮制作

基础按钮样式 使用CSS创建基础按钮需要定义padding、background-color、border和border-radius等属性。以下是一个简单的按钮样式示例: .button {…

vue实现轮播按钮

vue实现轮播按钮

实现轮播按钮的基本思路 在Vue中实现轮播按钮通常需要结合组件化思想和动态数据绑定。轮播按钮的核心功能包括自动轮播、手动切换、指示器导航等。 使用Vue实现轮播按钮 创建基础轮播组件 <tem…

vue实现entdesign按钮

vue实现entdesign按钮

Vue 中使用 Ant Design Vue 实现按钮 Ant Design Vue 是一个基于 Vue 的 UI 组件库,提供了丰富的组件,包括按钮(Button)。以下是如何在 Vue 项目中实现…

vue实现单选表格

vue实现单选表格

实现单选表格的基本思路 在Vue中实现单选表格通常需要结合<table>元素和Vue的数据绑定特性。通过v-model或自定义事件管理选中状态,确保同一时间仅有一行被选中。 使用…

Vue实现按钮权限

Vue实现按钮权限

Vue 按钮权限实现方案 在Vue中实现按钮权限控制通常需要结合后端返回的权限数据,前端根据权限动态渲染或禁用按钮。以下是几种常见实现方式: 基于 v-if 或 v-show 的权限控制 通过自定义…