当前位置:首页 > VUE

vue实现单选按钮

2026-01-08 08:32:02VUE

使用 v-model 绑定单选按钮

在 Vue 中,可以通过 v-model 实现单选按钮的数据绑定。单选按钮组需要共享同一个 v-model 绑定的变量,并通过 value 属性区分选项。

<template>
  <div>
    <input type="radio" id="option1" value="option1" v-model="selectedOption" />
    <label for="option1">选项1</label>

    <input type="radio" id="option2" value="option2" v-model="selectedOption" />
    <label for="option2">选项2</label>

    <p>当前选择: {{ selectedOption }}</p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      selectedOption: '' // 默认未选中
    };
  }
};
</script>

动态生成单选按钮组

可以通过 v-for 动态渲染单选按钮,适用于选项从接口获取的场景。

<template>
  <div>
    <div v-for="option in options" :key="option.value">
      <input
        type="radio"
        :id="option.value"
        :value="option.value"
        v-model="selectedOption"
      />
      <label :for="option.value">{{ option.label }}</label>
    </div>
    <p>当前选择: {{ selectedOption }}</p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      selectedOption: '',
      options: [
        { value: 'apple', label: '苹果' },
        { value: 'banana', label: '香蕉' },
        { value: 'orange', label: '橙子' }
      ]
    };
  }
};
</script>

使用组件库的单选按钮

主流 UI 库如 Element UI、Ant Design Vue 提供了封装好的单选组件,可直接调用。

Element UI 示例:

<template>
  <el-radio-group v-model="selectedOption">
    <el-radio label="option1">选项1</el-radio>
    <el-radio label="option2">选项2</el-radio>
  </el-radio-group>
</template>

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

处理单选按钮事件

可以通过 @change 监听单选按钮的变化,触发自定义逻辑。

<template>
  <div>
    <input
      type="radio"
      id="dark"
      value="dark"
      v-model="theme"
      @change="handleThemeChange"
    />
    <label for="dark">深色模式</label>

    <input
      type="radio"
      id="light"
      value="light"
      v-model="theme"
      @change="handleThemeChange"
    />
    <label for="light">浅色模式</label>
  </div>
</template>

<script>
export default {
  data() {
    return {
      theme: 'light'
    };
  },
  methods: {
    handleThemeChange() {
      console.log('主题已切换至:', this.theme);
    }
  }
};
</script>

表单验证与单选按钮

结合 Vue 表单验证库(如 VeeValidate)实现单选按钮的必选验证。

<template>
  <div>
    <input
      type="radio"
      id="agree"
      value="true"
      v-model="isAgreed"
      name="agreement"
      v-validate="'required'"
    />
    <label for="agree">同意协议</label>
    <span v-show="errors.has('agreement')" class="error">
      {{ errors.first('agreement') }}
    </span>
  </div>
</template>

<script>
export default {
  data() {
    return {
      isAgreed: false
    };
  }
};
</script>

vue实现单选按钮

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

相关文章

vue单选实现

vue单选实现

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

vue实现按钮

vue实现按钮

Vue 实现按钮的方法 使用原生 HTML 按钮 在 Vue 模板中可以直接使用 HTML 的 <button> 元素,通过 v-on 或 @ 绑定点击事件。 <template…

vue如何实现单选

vue如何实现单选

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

vue实现返回按钮

vue实现返回按钮

实现返回按钮的几种方法 在Vue中实现返回按钮功能可以通过以下几种方式: 使用浏览器历史记录API methods: { goBack() { window.history.lengt…

vue实现图片单选

vue实现图片单选

实现图片单选功能 在Vue中实现图片单选功能可以通过v-model绑定选中状态,结合CSS样式控制选中效果。以下是具体实现方式: 基础实现方案 <template> <div…