当前位置:首页 > VUE

vue 实现复选

2026-03-06 22:40:59VUE

Vue 实现复选

在 Vue 中实现复选功能通常可以通过以下方法完成,包括使用原生 HTML 的 checkbox 或 Vue 的 v-model 指令绑定数组。

使用原生 HTML checkbox

<template>
  <div>
    <input type="checkbox" id="option1" v-model="checkedOptions" value="Option1">
    <label for="option1">Option 1</label>
    <input type="checkbox" id="option2" v-model="checkedOptions" value="Option2">
    <label for="option2">Option 2</label>
    <input type="checkbox" id="option3" v-model="checkedOptions" value="Option3">
    <label for="option3">Option 3</label>
    <p>Checked options: {{ checkedOptions }}</p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      checkedOptions: []
    }
  }
}
</script>

使用 Vue 的 v-model 绑定数组

Vue 的 v-model 可以绑定到一个数组,自动收集选中的值。

vue 实现复选

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

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

动态生成复选框

如果需要动态生成复选框,可以结合 v-for 循环选项。

vue 实现复选

<template>
  <div>
    <div v-for="item in items" :key="item.id">
      <input type="checkbox" v-model="selectedItems" :value="item.id">
      {{ item.name }}
    </div>
    <p>Selected items: {{ selectedItems }}</p>
  </div>
</template>

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

自定义复选框组件

如果需要复用复选框逻辑,可以封装一个自定义复选框组件。

<template>
  <div>
    <custom-checkbox v-model="selectedValues" :options="checkboxOptions" />
    <p>Selected values: {{ selectedValues }}</p>
  </div>
</template>

<script>
import CustomCheckbox from './CustomCheckbox.vue'

export default {
  components: { CustomCheckbox },
  data() {
    return {
      checkboxOptions: [
        { value: 'val1', label: 'Value 1' },
        { value: 'val2', label: 'Value 2' },
        { value: 'val3', label: 'Value 3' }
      ],
      selectedValues: []
    }
  }
}
</script>

自定义复选框组件实现

CustomCheckbox.vue 的实现如下:

<template>
  <div>
    <label v-for="option in options" :key="option.value">
      <input type="checkbox" :value="option.value" v-model="internalValue">
      {{ option.label }}
    </label>
  </div>
</template>

<script>
export default {
  props: {
    value: {
      type: Array,
      default: () => []
    },
    options: {
      type: Array,
      required: true
    }
  },
  computed: {
    internalValue: {
      get() {
        return this.value
      },
      set(val) {
        this.$emit('input', val)
      }
    }
  }
}
</script>

通过以上方法,可以在 Vue 中灵活实现复选功能,无论是简单的静态复选框还是动态生成的复杂逻辑。

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

相关文章

vue 实现复选

vue 实现复选

Vue 实现复选功能 在 Vue 中实现复选功能可以通过多种方式完成,以下是常见的几种方法: 使用 v-model 绑定数组 通过 v-model 绑定一个数组,可以自动收集用户选择的复选框值。…

vue实现方法

vue实现方法

Vue 实现方法 Vue 是一种流行的前端框架,用于构建用户界面和单页应用。以下是几种常见的 Vue 实现方法: 创建 Vue 实例 通过 new Vue() 创建一个 Vue 实例,传入配置对象,…

vue el 实现

vue el 实现

Vue 中使用 Element UI (el) 的实现方法 Element UI 是一个基于 Vue 的组件库,提供丰富的 UI 组件,常用于快速构建企业级中后台产品。以下介绍 Vue 项目中集成和使…

vue实现popup

vue实现popup

Vue 实现 Popup 弹窗 使用 Vue 原生组件 创建一个基本的 Vue 组件作为弹窗,通过 v-if 或 v-show 控制显示隐藏。 <template> <div&…

vue实现抽奖

vue实现抽奖

Vue 实现抽奖功能 基本抽奖逻辑 创建一个Vue组件,包含奖品列表、抽奖按钮和结果显示区域。使用随机数生成器选择奖品。 <template> <div> <…

vue实现选人

vue实现选人

实现选人功能的基本思路 在Vue中实现选人功能通常涉及以下核心环节:数据绑定、用户交互处理、状态管理以及界面渲染。以下是具体实现方法: 数据准备与组件结构 创建包含人员信息的数组,通常从API获取或…