绑定 v-model 通过 v-model…">
当前位置:首页 > VUE

vue 实现单选

2026-01-07 07:08:25VUE

Vue 实现单选功能

在 Vue 中实现单选功能可以通过多种方式,以下是几种常见的方法:

使用原生 <input type="radio"> 绑定 v-model

通过 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>
  </div>
</template>

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

使用自定义组件实现单选

封装一个可复用的单选组件:

<template>
  <div>
    <div v-for="option in options" :key="option.value">
      <label>
        <input 
          type="radio" 
          :value="option.value" 
          v-model="selectedValue"
          @change="handleChange"
        >
        {{ option.label }}
      </label>
    </div>
  </div>
</template>

<script>
export default {
  props: {
    options: {
      type: Array,
      required: true,
      default: () => []
    },
    value: {
      type: [String, Number],
      default: ''
    }
  },
  data() {
    return {
      selectedValue: this.value
    }
  },
  methods: {
    handleChange() {
      this.$emit('input', this.selectedValue)
    }
  }
}
</script>

使用第三方 UI 库(如 Element UI)

如果项目中使用 Element UI,可以直接使用其单选框组件:

<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 :label="3">Option 3</el-radio>
  </el-radio-group>
</template>

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

动态生成单选选项

从后端获取数据动态渲染单选选项:

<template>
  <div>
    <label v-for="item in items" :key="item.id">
      <input 
        type="radio" 
        v-model="selectedItem" 
        :value="item.id"
      >
      {{ item.name }}
    </label>
  </div>
</template>

<script>
export default {
  data() {
    return {
      selectedItem: null,
      items: [
        { id: 1, name: 'Item 1' },
        { id: 2, name: 'Item 2' },
        { id: 3, name: 'Item 3' }
      ]
    }
  }
}
</script>

这些方法涵盖了 Vue 中实现单选功能的主要场景,可以根据项目需求选择合适的方式。

vue   实现单选

标签: 单选vue
分享给朋友:

相关文章

vue实现全文检索

vue实现全文检索

Vue 实现全文检索的方法 客户端全文检索(适用于小型数据集) 使用 flexsearch 或 lunr.js 等轻量级库实现前端全文检索: import FlexSearch from 'flex…

vue循环数组实现

vue循环数组实现

vue循环数组的实现方法 在Vue中循环数组主要通过v-for指令实现,以下是几种常见用法: 基本数组循环 使用v-for指令遍历数组,可以通过(item, index)的语法获取当前项和索引值:…

vue实现sql操作

vue实现sql操作

在Vue中实现SQL操作通常需要结合后端服务或本地数据库技术,因为前端JavaScript无法直接连接SQL数据库。以下是几种常见的实现方式: 通过API与后端交互 Vue前端通过HTTP请求(如…

vue实现微博印象

vue实现微博印象

实现微博印象功能的核心思路 微博印象功能通常指用户发布微博后,系统自动分析文本内容并提取关键词或标签,以可视化形式展示。Vue实现该功能需要结合文本分析、关键词提取和前端渲染技术。 文本分析与关键词…

vue按钮实现截屏

vue按钮实现截屏

Vue 按钮实现截屏的方法 在 Vue 项目中实现截屏功能可以通过多种方式完成,以下是几种常见的方法: 使用 html2canvas 库 安装 html2canvas 库: npm insta…

vue公共列表的实现

vue公共列表的实现

实现 Vue 公共列表组件 公共列表组件通常用于展示重复结构的数据,例如商品列表、用户列表等。以下是一个典型的实现方式: 基础实现 创建可复用的列表组件 List.vue: <tem…