当前位置:首页 > VUE

vue单选按钮代码实现

2026-02-22 23:29:19VUE

Vue 单选按钮实现方法

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

基础实现

<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 组件:

<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单选实现

Vue 单选实现方法 在 Vue 中实现单选功能可以通过多种方式完成,以下是常见的几种方法: 使用 v-model 绑定单选按钮 通过 v-model 绑定到同一个变量,实现单选效果: <t…

vue实现按钮实现点击功能

vue实现按钮实现点击功能

实现按钮点击功能 在Vue中实现按钮点击功能可以通过v-on指令或@缩写来绑定事件。以下是几种常见的实现方式: 使用v-on指令 通过v-on:click绑定点击事件,触发定义在methods中的…

vue如何实现单选

vue如何实现单选

使用原生 HTML 单选按钮 在 Vue 中可以直接使用 HTML 的原生单选按钮,通过 v-model 绑定数据。 <template> <div>…

vue实现单选按钮

vue实现单选按钮

实现单选按钮的基本方法 在Vue中实现单选按钮通常使用v-model指令绑定数据,结合input元素的type="radio"属性。以下是一个基础示例: <template> <…

vue实现按钮渐变

vue实现按钮渐变

Vue 中实现按钮渐变的几种方法 使用 CSS 线性渐变 通过 CSS 的 background 属性实现线性渐变效果,适用于大多数场景。 <template> <bu…

css制作按钮

css制作按钮

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