Vue实现全选多个选择框

 更新时间:2025年01月30日 07:00:36   作者:孙 悟 空  
使用v-model绑定布尔变量实现全选功能:定义数组存储状态,使用v-for循环渲染选择框,绑定状态;添加全选复选框,绑定布尔变量;使用watch监听全选复选框状态变化,更新数组中每一项的状态

Vue全选多个选择框

可以使用 v-model 来绑定一个布尔类型的变量来实现全选多个选择框的功能。

具体步骤

如下:

  1. data中定义一个数组,用来存储所有需要选择的项的状态。
  2. 在模板中使用 v-for 指令循环渲染每个选择框,并将每个选择框的状态绑定到数组中对应的项上。
  3. 在模板中添加一个全选复选框,将其状态绑定到一个布尔类型的变量上。
  4. 使用 watch 监听全选复选框的状态变化,当全选复选框的状态改变时,遍历数组中的每一项,将其状态设置为全选复选框的状态即可。

示例代码

<template>
  <div>
    <input type="checkbox" v-model="selectAll"> 全选
    <div v-for="(item, index) in items" :key="index">
      <input type="checkbox" v-model="item.checked"> {{ item.label }}
    </div>
  </div>
</template>

<script>
export default {
  data() {
    return {
      selectAll: false,
      items: [
        { label: '选项1', checked: false },
        { label: '选项2', checked: false },
        { label: '选项3', checked: false },
      ],
    };
  },
  watch: {
    selectAll(val) {
      this.items.forEach(item => {
        item.checked = val;
      });
    },
  },
};
</script>

在上面的代码中,我们定义了一个 selectAll 变量来表示全选复选框的状态,一个 items 数组来存储所有需要选择的项的状态。

在模板中,使用 v-for 指令循环渲染每个选择框,并将每个选择框的状态绑定到数组中对应的项上。同时,还添加了一个全选复选框,并将其状态绑定到 selectAll 变量上。

watch 中,监听 selectAll 变量的变化,当它的状态改变时,遍历 items 数组中的每一项,将其状态设置为 selectAll 的状态即可实现全选功能。

结果展示

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Vue3实现列表无限滚动的示例详解

    Vue3实现列表无限滚动的示例详解

    这篇文章主要为大家详细介绍了如何使用Vue3实现列表无限滚动的效果,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起了解一下
    2023-07-07
  • 讲解vue-router之命名路由和命名视图

    讲解vue-router之命名路由和命名视图

    这篇文章主要介绍了讲解vue-router之命名路由和命名视图,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05
  • Vue3中使用qrcode库实现二维码生成

    Vue3中使用qrcode库实现二维码生成

    Vue3中实现二维码生成需要使用第三方库来处理生成二维码的逻辑,常用的库有 qrcode和 vue-qrcode,本文主要介绍了Vue3中使用qrcode库实现二维码生成,感兴趣的可以了解一下
    2023-12-12
  • Vue使用Pinia轻松实现状态管理

    Vue使用Pinia轻松实现状态管理

    pinia,一个基于Vue3的状态管理库,它可以帮助开发人员管理Vue应用程序的状态,本文主要为大家介绍了Pinia的用法,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-06-06
  • Vue.js 插件开发详解

    Vue.js 插件开发详解

    本文会通过一个简单的vue-toast插件,来帮助了解掌握插件的开发和使用。具有很好的参考价值,下面跟着小编一起来看下吧
    2017-03-03
  • Vue2.2.0+新特性整理及注意事项

    Vue2.2.0+新特性整理及注意事项

    本文是小编精心给大家收藏整理的关于Vue2.2.0+新特性,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-08-08
  • Vuex中getters和actions的使用补充说明

    Vuex中getters和actions的使用补充说明

    这篇文章主要介绍了在Vuex中关于getters和actions使用的补充作了简要说明,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2021-09-09
  • 浅析Vue中自定义指令的用法

    浅析Vue中自定义指令的用法

    在Vue中,有两种类型的自定义指令:局部指令和全局指令,但是除了这些指令 Vue也允许我们自己定义自己的指令,下面我们就来学习一下Vue中自定义指令的用法吧
    2023-08-08
  • vue.js实现只能输入数字的输入框

    vue.js实现只能输入数字的输入框

    这篇文章主要为大家详细介绍了vue.js实现只能输入数字的输入框,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-10-10
  • 浅谈vue中get请求解决传输数据是数组格式的问题

    浅谈vue中get请求解决传输数据是数组格式的问题

    这篇文章主要介绍了浅谈vue中get请求解决传输数据是数组格式的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-08-08

最新评论