vue element checkbox多选框 多组联动数据嵌套多选、单选实际应用

2023-11-11

先看我最近项目中要实现的功能,点击“干部管理组“、”员工管理组“与下属员工复选框实现联动

 后台返回的数据结构大概是这样的

[
  {
    title: '干部',
    rows: [
      {
        id: 1,
        name: '张三'
      },
      {
        id: 2,
        name: '张四'
      },
      .......
    ]
  },
  {
    title: '员工',
    rows: [
      {
        id: 3,
        name: '李三'
      },
      {
        id: 3,
        name: '李四'
      },
      .......
    ]
  },
  .......
]

 官方文档多选示例:

 我的实现过程:

  • 组装后台返回的数据

将官方示例的数据结构作为我的数据结构的子项,增加全选,被选中数据,控制选中状态三个字段,cities相当于我的rows

贴代码(加入了对isIndeterminate 这个参数的理解,可以看一下):

  • dom结构

 这里边有几个点要注意

1,el-checkbox-group 绑定的 v-model 是 el-checkbox 的 :label 组成的数组,这两个结构需要保持一致;

2,el-checkbox的change事件有默认的参数,所以在增加额外参数item的时候需要增加$event来拿到默认返回的value

官方说明:

  • 参照官方示例修改父、子选框的change callback

 

至此我的功能就勉强实现了,但是总感觉非常的繁琐,代码易读性不高(非常低),由于项目比较紧张,我也只是在这边记录一下。快下班的时候和同事聊起扁平数据转化结构数据的时候(准备最近写一下这篇文章,ztree数据兼容element tree数据转化的时候用到)想到另一种解决思路,代码易读性会高一些,我简单说明一下我的思路,列位如果碰到类似问题可以尝试。

1,forEach后台返回的数据,生成一个保存id的嵌套数组,同样组装allChecked等字段,以这个数组作为原始数据,实现功能。

2,制作一个filter, {{ id | filter}},根据id返回当前要显示的内容。

 

感谢阅读,前端小白,恭候大佬们赐教

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vue element checkbox多选框 多组联动数据嵌套多选、单选实际应用 的相关文章

  • 解决elementUI的对话框(Dialog)组件点击自动跳转到页面顶部问题

  • java上传图片、文件和富文本内容到服务器上,查看和删除文件

    1 上传富文本内容 前端的富文本内容传到后端 将富文本内容拼接成html页面代码 将内容转换成html文件上传到服务器指定位置进行存储 String profile data xiangmu linux服务器上项目文档存放目录 String
  • element-plus中 el-image :src属性发送get请求

    项目场景 Element plus 中
  • element ui 对话框el-dialog关闭事件,清空填写的数据

    原文链接 https blog csdn net rickiyeat article details 76595390 通常会有需求 在关闭弹框后需要清空填写的数据 这时候就需要关闭事件了
  • 包管理工具那么多,怎么选?npm、yarn 和 pnpm 三者比较及使用详解!

    1 简介 在 Vue 项目中 我们需要使用许多第三方依赖库 如 Vue Router Vuex Axios Element UI 等等 这些依赖库通常以 NPM 包的形式提供 而且在使用时需要进行版本管理 因此 我们需要使用一个包管理工具来
  • ip正则表达式

    var Sip rule value callback gt if 2 5 0 5 0 4 d 0 1 d 1 2 2 5 0 5 0 4 d 0 1 d 1 2 3 test value false callback new Error
  • 值得收藏的UmiJS 教程

    点击上方关注 前端技术江湖 一起学习 天天进步 前言 网上的umi教程是真的少 很多人都只写了一点点 很多水文 所以打算自己写一篇 自己搭建umi 并封装了一下常用的功能 并用到公司实际项目中 umi介绍 Umi 是什么 Umi 中文可发音
  • 微信pc端浏览器打开页面空白的问题

    今天写了一个web项目 用chrome浏览器 手机端微信你打开都没问题 但是在pc端微信打开后是空白的 于是我重新做了一个空白的vue项目 用pc端微信浏览器是可以打开的 慢慢调试发现是语法的问题 一步一步减去组件 再一步一步加上组件 最终
  • 前端大屏常用的适配方案

    假设我们正在开发一个可视化拖拽的搭建平台 可以拖拽生成工作台或可视化大屏 或者直接就是开发一个大屏 首先必须要考虑的一个问题就是页面如何适应屏幕 因为我们在搭建或开发时一般都会基于一个固定的宽高 但是实际的屏幕可能大小不一 接下来我们就尝试
  • mapState的使用(常用)

    mapState作用 可以辅助获取到多个state的值 怎么使用 1 在 vue组件中引入 在js块中引入 import mapState from vuex 2 在 vue组件中computed下定义一个对象 computed mapSt
  • vue实现拍照人脸识别功能带人脸选中框

    前言 实现打开摄像头 并识别人脸 实现效果 实现步骤 一 安装 1 官网下载 tracking js 的代码包官网入口 2 npm下载 执行命令 cnpm install tracking save 二 demo案例代码
  • vue动态绑定video视频src问题解决

    做个项目 视频部分需要先后台上传 然后前端页面显示 然后就遇到了视频动态获取地址的问题 一开始想着很简单 使用v model双向绑定就行了 结果试了下并不行 后面开始度娘 尝试过很多人说的 refs解决 结果并不行 虽然浏览器中看地址确实绑
  • Vue-cli3更改项目logo图标

    1 图标切成对应大小 2 图标名称后缀与vue原有图标logo名称 后缀一致 favicon ico 并替换 3 vue项目根目录下 新建 vue config js 添加下列代码 module exports pwa iconPaths
  • 大数据毕业设计之前端02:架构布局和aside的设计

    前言 上一篇主要讲了我学习前端的一个经历 以及为什么选择BuildAdmin作为深入前端学习的原因 同事也大致聊了一下学习前端需要使用哪些技术栈 本篇文章来拆解一下BuildAdmin的前端代码结构 和布局实现的细节 前端代码结构 必须先了
  • Vue学习之watch侦听器:案例实现翻译功能

    watch侦听器 作用 监视数据的变化 当数据发生变化时 执行一些业务逻辑或者是异步操作 执行的场景例如在线翻译 当文本区域的内容发生变化时 会发生翻译内容的同时更新 语法 简单的写法 简单数据类型 可以直接的进行监听 完整的写法 添加额外
  • Vue3+Echarts:堆积柱状图的绘制

    一 需求 在Vue3项目中 想用Echarts来绘制堆积柱状图 去展示最近一周APP在不同渠道的登录人数 效果如下 二 实现 关于Echarts的下载安装以及图表的样式设计 此处不展开 1 Templates部分
  • 拓展:vue 父组件调用子组件方法ref(且父组件可通过ref调用的方法传值给子组件)

    1 ref被用来给元素或子组件注册引用信息 引用信息将会注册在父组件的 refs对象上 一 ref被用来给元素或子组件注册引用信息 引用信息将会注册在父组件的 refs对象上 div class formBtn fl 111 div div
  • element ui backTop源码解析-逐行逐析

    backTop 回到顶部 组件简介 基础概念 返回页面顶部的操作按钮 代码
  • (vue)el-popover鼠标移入提示效果

    vue el popover鼠标移入提示效果 效果 代码
  • vue的组件

    在Vue中 组件是可复用的代码块 用于构建用户界面 Vue的组件系统允许您将界面拆分为独立的 可重复使用的部件 提供了更好的代码组织和复用性 以下是在Vue中创建组件的基本步骤 创建一个组件实例 可以使用Vue extend 方法创建一个V

随机推荐

  • Redis之哨兵模式解读

    目录 基本介绍 单哨兵模式 多哨兵模式 哨兵的本质 配置哨兵模式 故障恢复原理 哨兵监控工作流程 哨兵模式缺点 基本介绍 当主服务器宕机后 需要手动把一台从服务器切换为主服务器 这就需要人工干预 费事费力 还会造成一段时间内服务不可用 这不
  • Vue前端路由

    路由概念 SPA 单页面应用程序 中 前端路由 router 就是对应关系 Hash地址与组件间对应关系 工作方式 用户点击页面上的路由链接 导致URL地址栏中Hash值发生变化 前端路由监听到Hash地址变化 前端路由把当前Hash地址对
  • 使用docker安装部署kuboard并导入k8s集群

    1 官网地址 https kuboard cn install v3 install html kuboard v3 x E7 89 88 E6 9C AC E8 AF B4 E6 98 8E 2 找到推荐的安装方式 先点击左上角的安装 3
  • 1秒30000QPS,前后端设计思路

    A1 作者 李道兵 没做过支付 不考虑细节 随便聊聊 1 首先要解决掉数据库的压力 3万qps对应的磁盘 iops 很大 不过现在好的 SSD 能提供很好的 iops 比如这款 ARK Intel SSD DC P3700 Series 8
  • android 4.2版本的sdcard文件目录分析

    1 今天遇到一个问题 修改已经解决 1 首先看看真机测试下的文件结构 2 简单介绍android文件结构的作用 以下是几个重要目录 文件的说明 1 mnt 挂载点目录 2 etc 系统主要配置文件 3 system Android 系统文件
  • ios-设置状态栏颜色(电池颜色)

    iOS 状态栏的两种形式 白底黑字和黑底白字 UIStatusBarStyleLightContent UIStatusBarStyleDefault 设置方法如下 1 Info plist文件添加一行 2 要改变的VC中添加代码 void
  • Android自定义Dialog仿IOS的Dialog

    由于时间原因 没有详细整理 直接拿网上代码 先看看效果 首先 布局文件 activity main xml
  • 抖音小程序如何运营;怎么快速变现赚钱。

    随着LBS 企业号和购物车等能力的上线 抖音早已不是单纯的短视频APP了 抖音正在成为一个融合了线上线下的全新导流平台 而随着抖音小程序的上线 标志着抖音正式完成变现转型 那么抖音小程序有哪些优势 又是怎么貝兼钱的呢 今天 我们就来了解下如
  • 华为OD机试 - 玩牌高手(Java)

    题目描述 给定一个长度为n的整型数组 表示一个选手在n轮内可选择的牌面分数 选手基于规则选牌 请计算所有轮结束后其可以获得的最高总分数 选择规则如下 在每轮里选手可以选择获取该轮牌面 则其总分数加上该轮牌面分数 为其新的总分数 选手也可不选
  • 多传感器融合之雷达图像数据集自动生成 - 20220613

    文章目录 Automatic Radar Camera Dataset Generation for Sensor Fusion Applications 1 Radar Camera Co Calibration 2 ROS pipeli
  • 集成第三方单点登录JIRA(Colfluence同理)

    jira单点登录原理 jira单点登录依赖于seraph插件 在searph的配置文件中引入我们自定义的验证类 类似一个过滤器 jira登录时会解析代码中的逻辑 具体内部实现逻辑自己定义 如header token cookie等等形式 j
  • 获取单选框选中值提交到数据库

    获取单选框选中值提交到数据库 开发工具与关键技术 VS2015 ASP NET MVC 撰写时间 2019 08 08 先说明一下我这两个单选框的作用 就比如说我做的这个是一个商品单位的属性 是允许小数或者不允许小数的 比如手机是一台的 台
  • 公司招人,面了一个5年经验不会自动化的测试人,他凭什么要18K?

    在深圳这家金融公司也待了几年 被别人面试过也面试过别人 大大小小的事情也见识不少 今天又是团面的一天 一百多个人都聚集在一起 因为公司最近在谈项目出来面试就2个人 无奈又被叫到面试房间 整个过程我都是非常认真负责的 不管是有经验的还是没经验
  • 自学之Python常用库——logging

    logging库日志级别 默认的级别是warning 级别 级别数值 使用时机 DEBUG 10 详细信息 常用语调试 INFO 20 程序正常运行过程中产生的一些信息 WARNING 30 警告用户 虽然程序还在正常工作但有可能发生错误
  • ch340非一键下载电路烧录esp8266程序

    esp8266 ch340非一键下载电路烧录问题的解决 前些天对智能家居很感兴趣 在网上看了一些关于esp8266的开发视频后 就从淘宝入手了一些小玩意儿 原先以为用ch340就可以实现esp8266一键下载呢 事实上却没有那么简单 笔者受
  • flutter报错记录:java.lang.IllegalAccessError: class org.gradle.internal.compiler.java.ClassNameCollector

    在一天新电脑上运行flutter项目时 项目一直跑不起来 详细的报错内容 java lang illegalaccesserror class org gradle internal compiler java classnamecolle
  • 原生js的e.target.closest()方法

    closest 方法 首先检查当前元素是否匹配 如果匹配则直接返回当前元素本身 如果不匹配则沿着dom树一层一层向上查找祖先元素 直到找到匹配的祖先元素为止 如果都不不匹配则返回空null 用法 比如 有一个ul列表 当点击ul里面的内容时
  • cmake can not determine linker.....

    目录结构如下 a hpp CMakeLists txt 内容如下 add library a a hpp 编译该目录 报上面的错误 cmake实际需要有 cpp的文件才能单独编译 只有hpp不行 但是如果加上链接库也是可以的 上面的内容加上
  • 嵌入式软件开发

  • vue element checkbox多选框 多组联动数据嵌套多选、单选实际应用

    先看我最近项目中要实现的功能 点击 干部管理组 员工管理组 与下属员工复选框实现联动 后台返回的数据结构大概是这样的 title 干部 rows id 1 name 张三 id 2 name 张四 title 员工 rows id 3 na