Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >多选穿梭框总结 (vue + element)

多选穿梭框总结 (vue + element)

作者头像
Krry
修改于 2019-04-22 06:39:40
修改于 2019-04-22 06:39:40
4.8K00
代码可运行
举报
文章被收录于专栏:KrryblogKrryblog
运行总次数:0
代码可运行

博客地址:https://ainyi.com/23

示例

介绍

  • 实现省市区三级多选联动,可任选一个省级、市级、区级,加入已选框,也可以在已选框中删除对应的区域。
  • 选择对应仓库,自动勾选仓库对应的省,取消就反选
  • 选择同样地区,选择省级或市级,若该对象下面的市级或区级已有选择,就自动合并为一个省级或市级:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
例如:
已选择:广东省广州市荔湾区
点击加入:广东省广州市
最后显示:广东省广州市
广州市已被选择,对应市级的区将不显示,只显示对应的市

同理:选择广东省,也将下面已选择的所有的市或区合并成一个省级,只显示这个省级

设计

  • 拆分组件:仓库和省市区框作为父组件
  • 三个区域框和一个已选框相似,复用一个组件 transfer,放在省市区框父组件中。

省级 transfer、市级 transfer、区级 transfer

数据展示

  • 父组件从数据中获取省级数据传递到子组件 transfer 展示出来。
  • 当选中的某个省,则传递对应省级 id 到父组件,根据 id 查找对应的市级并过滤,并且使用 ref 控制市级的 transfer 组件的 father 属性,就是在市级 transfer 组件里也有对应的省级对象。
  • 多选情况,只保留最后选择的父级(省级/市级)查找出对应的子级(市级/区级)
  • 市级和省级组件的 father 对象是 {id:"", text:""}
  • 市级组件的 father 保存着省级的 id 和名称。
  • 区级组件的 father 保存着省市的 id 和名称(以-分割,如:{id:"10001-100145815", text:"广东省-河源市"})
  • 省市区都分别设置一个过滤数组,用来过滤已选的区域

区域搜索

  • 监听搜索框的值,重新获取区域数据,再通过 filter 筛选出搜索的数据

点击添加进已选:

  • 省级直接点击添加选中的省份,直接传递该省的对象进已选数组。并将选择的省级 id 添加进省级过滤数组。然后判断已选区域中是否有该省级一下的市级,有则删除,合并成一个省级,并在省级过滤数组删除掉这个市级 id。
  • 市级点击添加选中的城市,选中的城市对象数组,遍历拼接上当前的 father 对象,最终保存的形式:{id: "10005-545132025515", text: "广东省-广州市"},也要判断当前市级下是否有对应的区级,有则合并,并在区级过滤数组删除这个区级 id。
  • 区级点击添加选中的区域,拼接上当前的 father 对象,最终的保存的形式:{id:"10004-15613610-25156165156321", text:"广东省-河源市-龙川县"},
  • 子组件 transfer 中区域数据 districtList 需要放在监听器里,当点击省级或市级,自动监听更新市级或区级的列表

从已选中删除

  • 选中已选区域的数据,传递到父组件,同样的道理,删除过滤数组对应的 id,并刷新对应的区域数据

监听仓库与区域对应

  • 找出选中仓库的对应省级 id,已选区域有该省则过滤,无则添加,当点击取消勾选的时候,也实时将已选区域中对应的省级删除掉。

相关连接

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-07-19 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
关于 Element 组件的穿梭框的重构
前端的发展迅速,层出不穷。很多公司的项目,在使用框架很好能解决 UI 与数据状态同步的难题,但随着公司业务发展,数据量的庞大以及数据处理越来越复杂,官方组件也难以解决的同时,就不得不自己重写特定组件
Krry
2018/10/19
7.6K1
关于 Element 组件的穿梭框的重构
krry-transfer ⏤ 基于 element 的升级版穿梭框组件发布到 npm 啦
看过我之前博客的同学或许知道我之前写过关于 element 穿梭框组件重构的博客 关于 Element 组件的穿梭框的重构,当时还有一些同学直接通过微信询问很多关于这个组件的问题
Krry
2019/11/04
1.6K0
krry-transfer ⏤ 基于 element 的升级版穿梭框组件发布到 npm 啦
vue使用腾讯位置服务选点组件问题总结
采用的是地图 API 的第二种方式,跳转新的页面,通过回调路径把地址信息带回来原先页面
腾讯位置服务
2020/08/21
1.2K0
Arcgis中图像裁剪
使用arcmap对数据进行剪裁,Arcgis中的裁剪分为很多种,有矢量裁剪矢量,矢量裁剪栅格,栅格裁剪栅格。本文主要操作,掩膜裁剪(矢量裁剪栅格)和clip 裁剪。
Twcat_tree
2023/01/18
2.5K0
微信小程序官方组件展示之表单组件picker源码
以下将展示微信小程序之表单组件picker源码官方组件能力,组件样式仅供参考,开发者可根据自身需求定义组件样式,具体属性参数详见小程序开发文档。
软件事业部
2022/09/19
1.1K0
[好文重发]Excel催化剂地图可视化功能正式发布,欢迎使用!
正如标题所提及的,在Excel催化剂上进行中国地图数据可视化,可实现零门槛作图,用户无需掌握任何地图相关知识及编程技术,只需掌握基本的Excel操作,即可瞬间完成自己想要的地图展现效果。
Excel催化剂
2021/08/18
1.4K0
表单联动解决方案探讨
表单联动是前端经常面临的问题,联动实际上是一组表单项和表单项之间的依赖关系的集合。比如经典的“省-市-区”三级联动,就包含了“省”、“市”、“区”三个表单项,以及“市->省”和“区->市”。表单项的依赖关系可以抽象成若干if(省 === '广东省') { 市 in [‘广州市’, ‘深圳市’, ...] }的形式,即“市”依赖于“省”。(被依赖项也可以有多个,比如C依赖于B和A;而依赖项有多个的情况可以拆解为相互独立的依赖关系)
暂七师黑管手
2020/06/02
3.3K0
文旅投资有多火?2019年各省重点文旅项目名单来了
截至目前,全国各省级行政单位2019年重点项目计划也已陆续发布,包括北京市、山东省、江苏省、陕西省、四川省等,涵盖主题乐园、特色小镇、酒店、综合体等业态。 据新旅界不完全统计,全国各省市区公布的2019年重点项目中,其投资额从千亿元至万亿元不等,且同比2017年,各省市区今年重点项目数量和投资额均有不同程度的增长,文旅项目亦是多数省市区的2019年重要项目板块。 从文旅项目类型分布来看,2019年全国重点文旅项目占比最高的是自然景区,占比约27.8%; 其次,田园综合体和主题公园项目也占据较大
腾讯文旅
2020/06/17
7750
Excel插件,效果超好的地图可视化,可绘制区县!
在笔者所接触到的地图可视化过程中(没有专门深入,欢迎补充),简单介绍下所知道的情形。
寒树Office与RPA
2019/11/27
10K0
[功能发布]Excel催化剂地图可视化功能正式发布,欢迎使用!
首先介绍下背景,10月的发布的原文为: 「合规」震惊!地图可视化竟能如此玩,零门槛,全免费,效果远胜主流作图工具!
Excel催化剂
2021/08/19
1.2K0
[功能发布]Excel催化剂地图可视化功能正式发布,欢迎使用!
【愚公系列】2022年08月 微信小程序-省市区三联动功能实现
多级联动下拉菜单是前端常见的效果,省市区三级联动又属于其中最典型的案例。多级联动一般都是与数据相关联的,根据数据来生成和修改联动的下拉菜单。完成一个多级联动效果,有助于增强对数据处理的能力。
愚公搬代码
2022/09/26
3.6K0
【愚公系列】2022年08月 微信小程序-省市区三联动功能实现
【愚公系列】2022年03月 微信小程序-picker选择器
picker选择器分为三种,普通选择器,时间选择器, 日期选择器 用mode属性区分,默认是普通选择器。
愚公搬代码
2022/12/01
1.1K0
【愚公系列】2022年03月 微信小程序-picker选择器
腾讯地图获取全国行政区划检索列表Demo
全国行政区划检索功能, 由于高德和百度也没有提供一个比较完美的解决方案, 因此使用了腾讯地图iOS SDK内部封装的Web接口来实现. 行政区划共分为三个等级, 省级/市级/区级, 对于北京市和天津市这样的城市, 通常直接认为是省级, 并直接以同样的内容来填充市级. 但是SDK内部并没有提供这样的填充, 因此需要自行再省级里面将其复制到市级。
腾讯位置服务
2020/09/18
1.7K0
60 个省委书记、省长经常逛的「朋友圈」,现在你可以直接 @ 他们
作者:冷思真 当今社会,人民群众已经有了很多发声渠道,但还有许多亟待表达的社会诉求。有没有一种渠道,可以向党政领导直接反馈问题呢? 这是人民的夙愿,也是党和政府所非常关心的。 今天带来的「地方领导留言板」,就是帮助大家更好地与党和政府表达想法、反映问题的小程序。 留言板:我的疑惑,你的解惑 在 2006 年,人民网开通了「地方领导留言板」,供广大网民群众向省、市、县三级领导干部反映问题、提出建议。12 年来,先后有 60 位省委书记、省长,2500 位各地「党政」一把手公开回复网民留言,百万网民参与其中。
知晓君
2018/07/03
7142
微信小程序pick组件使用问题总结
. 这里我创建了一个index目录,该目录下面创建好必备的文件。这里只会操作到.js和.wxml文件。 第一种方案 wxml文件添加如下内容
兔云小新LM
2019/07/24
1.1K0
Vue项目使用mt-picker实现省市区三级联动踩坑记录
使用的是饿了么团队的移动端组件库 Mint UI 中的 Picker 组件,官方的文档也是十分的不详细。
德顺
2020/07/21
1.3K0
“区块链苏九条”、广州黄埔“区块链十条”
本文转载于:巴比特网站 原文链接:http://www.8btc.com/su-zhou-guang-zhou-policy-171225 距2016年12月,区块链被写入我国“十三五”信息规划已经过去一年。各地政府纷纷出台相关扶持政策文件,展开了区块链行业优秀企业和人才的争夺战。 “区块链苏九条”:真金白银,开放场景 12月23日,在即将迎来六周年的苏州高铁新城,由苏州同济金融科技研究院承办的“链谷成果、政策、场景规划”上,苏州高铁新城管委会正式发布区块链产业发展扶持政策与向社会开放的首批场景,向区块链行
区块链大本营
2018/05/10
1.5K0
由移动端级联选择器所引发的对于数据结构的思考
GitHub:https://github.com/nzbin/Framework7-CityPicker Demo:https://nzbin.github.io/Framework7-CityPicker/ 前言 最近在做移动端项目的时候遇到了省市区选择的功能。以往做项目时都是省市区分开的下拉框样式。这次希望实现效果图要求的级联选择器。我是 Framework7 框架的忠实粉丝,庆幸的是 Fra
叙帝利
2018/01/17
2.2K0
由移动端级联选择器所引发的对于数据结构的思考
鸿蒙开发实战案例:自定义地址选择案例
本示例介绍如何使用bindSheet,changeIndex,onAreaChange实现带切换动效的自定义地址选择组件。
小帅聊鸿蒙
2025/03/05
940
鸿蒙开发实战案例:自定义地址选择案例
巧用指针/引用实现多级省市区嵌套
开发中经常遇到需要将一个二维结构的数据转换为N级嵌套(如多级菜单、省市区嵌套等),一般遇到这种问题我们会借助数据表添加冗余列配合代码,高级点的可以再配合数据库的存储过程,简单粗暴点的是把数据拉回来后代码多次循环处理。下面我们用指针/引用再没有冗余列的情况下仅遍历一次原始数据实现省市区的嵌套输出。
yaxin
2021/01/22
1.2K0
巧用指针/引用实现多级省市区嵌套
推荐阅读
相关推荐
关于 Element 组件的穿梭框的重构
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验