uniapp全选功能制作

简介: uniapp全选功能制作

可能会存在一些bug

以下是对每部分的一些解释

  1. <template>部分:
  • 通过<u-checkbox-group>标签来创建一个复选框组,该组中的所有复选框将共享一个数据模型。
  • v-model 指令用于绑定复选框组的值,即选中的复选框的名称。
  • placement 属性设置为 "column",表示复选框列表将按列排列。
  • @change 事件监听器绑定到 checkboxChange 方法,当复选框状态发生变化时会触发这个方法。
  • 在复选框组内部,使用 v-for 循环遍历 checkboxList1 数组中的每个对象,并创建相应的 <u-checkbox> 复选框。
  • <u-checkbox> 元素的属性设置了复选框的外观和标签,并将复选框的状态与数据模型中的选中状态关联。
  1. <script>部分:
  • data 中定义了两个数据属性:checkboxValue1checkboxList1
  • checkboxValue1 用于存储选中的复选框的名称,初始为空数组。
  • checkboxList1 包含了一个对象数组,每个对象代表一个复选框选项,包括名称和是否禁用的信息。
  • methods中定义了两个方法:
  • checkboxChange 方法用于处理复选框状态变化的事件。在这个示例中,它只是简单地打印出变化的信息。
  • selectAll 方法用于全选功能。根据当前选中的复选框数量和总复选框数量,它更新 checkboxValue1 数组以实现全选或取消全选的功能。同时,它也在控制台输出了选中状态的信息。

废话不多说直接上代码

<template>
    <view>
        <u-checkbox-group
            v-model="checkboxValue1"
            placement="column"
            @change="checkboxChange"    
        >
            <u-checkbox
      shape="circle"
                size='60rpx'
                labelSize='50rpx'
                :customStyle="{marginBottom: '8px'}"
                v-for="(item, index) in checkboxList1"
                :key="index"
                :label="item.name"
                :name="item.name"
            >
            </u-checkbox>
        </u-checkbox-group>
        <!-- 添加全选按钮 -->
        <u-checkbox
    shape="circle"
            size='60rpx'
            labelSize='50rpx'
            :label="'全选'"
            @change="selectAll"
        >
        </u-checkbox>
    </view>
</template>
<script>
export default {
    data() {
        return {
            checkboxValue1:[],
            // 基本案列数据
            checkboxList1: [{
                    name: '苹果',
                    disabled: false
                },
                {
                    name: '香蕉',
                    disabled: false
                },
                {
                    name: '橙子',
                    disabled: false
                }
            ],
        }
    },
    methods: {
        checkboxChange(n) {
            console.log('change', n);
        },
        selectAll() {
            // 点击全选按钮时,更新所有复选框的选中状态
            if (this.checkboxValue1.length === this.checkboxList1.length) {
                this.checkboxValue1 = [];
        console.log(this.checkboxValue1,1);
        console.log(this.checkboxList1,1);
            } else {
                this.checkboxValue1 = this.checkboxList1.map(item => item.name);
        console.log(this.checkboxValue1,1);
        console.log(this.checkboxList1,2);
            }
        }
    }
}
</script>
目录
相关文章
|
7月前
使用uniapp实现websocket聊天功能
使用uniapp实现websocket聊天功能
|
7月前
uniApp常用功能封装
uniApp常用功能封装
55 0
|
7月前
uniapp点击图片预览功能?
uniapp点击图片预览功能?
|
7月前
|
移动开发 JavaScript 前端开发
【Uniapp 专栏】Uniapp 与 Flutter 的功能特点对比
【5月更文挑战第15天】Uniapp 和 Flutter 是跨平台开发的热门框架。Uniapp 以其强大的跨平台兼容性和基于 Vue.js 的易学性著称,适合快速开发适用于 iOS、Android 和 H5 的应用。其丰富的组件生态简化了功能集成。然而,在复杂场景下,性能可能不及原生。Flutter 则以其全新渲染引擎实现流畅界面和高度自定义,性能接近原生,但学习成本较高,需处理特定平台适配。适用于高要求的项目。两者各有优势,选择应考虑项目需求、技术储备和开发周期。
855 1
【Uniapp 专栏】Uniapp 与 Flutter 的功能特点对比
|
7月前
|
开发框架 前端开发 开发者
【Uniapp 专栏】Uniapp 的状态管理功能深度解析
【5月更文挑战第13天】Uniapp 的状态管理对于构建复杂跨平台应用至关重要,它包括全局变量、Vuex 风格管理。核心概念有 State、Actions 和 Mutations。通过状态定义、动作设计和突变管理,提高开发效率和代码可维护性。实际案例和与其他框架比较显示了 Uniapp 的优势。理解并有效利用状态管理,能提升应用质量和开发效率。
329 1
【Uniapp 专栏】Uniapp 的状态管理功能深度解析
|
2月前
|
JavaScript 数据安全/隐私保护
uniapp功能权限判断$auth.auth $auth.role显示判断生成源码
uniapp功能权限判断$auth.auth $auth.role显示判断生成源码
31 0
|
4月前
|
开发框架 移动开发 前端开发
基于SqlSugar的开发框架循序渐进介绍(19)-- 基于UniApp+Vue的移动前端的功能介绍
基于SqlSugar的开发框架循序渐进介绍(19)-- 基于UniApp+Vue的移动前端的功能介绍
|
5月前
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的多功能智能手机阅读APP的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的多功能智能手机阅读APP的详细设计和实现(源码+lw+部署文档+讲解等)
|
5月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的多功能智能手机阅读APP附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的多功能智能手机阅读APP附带文章源码部署视频讲解等
82 1
|
6月前
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的多功能智能手机阅读APP的详细设计和实现
基于SpringBoot+Vue+uniapp的多功能智能手机阅读APP的详细设计和实现
85 12

热门文章

最新文章