基于vue实现精妙绝伦的三级联动

ps:笔者为初学者,自己想的不容易,别喷我

<template><view class="index"><!-- 三级联动控件   --><view class="select_btn" @tap="openSelect">开启选择</view><view>选中信息为: {{ result }}</view><view><AtFloatLayout :isOpened="flag" title="三级联动选择" @close="handleClose"><!-- 一级选择 --><at-flexwrap="wrap"v-for="(item, index) in dataList"@tap="select(item, index)"class="lines"><at-flex-item :size="10">{{ item.name }}</at-flex-item><at-flex-item :size="2">></at-flex-item></at-flex></AtFloatLayout></view></view>
</template><script>
import { ref } from "vue";
import { AtFlex, AtFlexItem, AtInput } from "taro-ui-vue3";
import "./index.scss";export default {data() {return {flag: false,dataList: [],result: "",firstDataList: [{ name: "总公司" }, { name: "子公司" }],secondDataList: [{ name: "开发部" },{ name: "销售部" },{ name: "人事部" },{ name: "财务部" },],secondDataList1: [{ name: "北京××××" },{ name: "沈阳××××" },{ name: "上海××××" },{ name: "合肥××××" },{ name: "广州××××" },],thirdDataList: [{ name: "分公司的开发部" },{ name: "分公司的销售部" },{ name: "分公司的人事部" },{ name: "分公司的财务部" },],};},created() {this.dataList = this.firstDataList;},methods: {pressLong() {},handleClose() {// 关闭逻辑已完整this.flag = false;this.dataList = this.firstDataList;},openSelect() {this.flag = true;},isEqual(arr1, arr2) {for (let i = 0; i <= arr1.length; i++) {if (arr1[i] !== arr2[i]) {return false;} else {continue;}}return true;},select(item, index) {let vm = this;if (this.isEqual(this.firstDataList, this.dataList)) {vm.result = "";console.log("1-1 选择成功");switch (index) {case 0:vm.dataList = vm.secondDataList;vm.result = vm.result + item.name;console.log("前往2-1");break;case 1:vm.dataList = vm.secondDataList1;vm.result = vm.result + item.name;console.log("前往2-2");break;}} else if (this.isEqual(this.secondDataList, this.dataList)) {vm.result = vm.result + item.name;vm.flag = false;this.dataList = this.firstDataList;console.log("2-1后关闭");} else if (this.isEqual(this.secondDataList1, this.dataList)) {vm.result = vm.result + item.name;vm.dataList = vm.thirdDataList;console.log("2-2后继续选择");} else if (this.isEqual(this.thirdDataList, this.dataList)) {vm.result = vm.result + item.name;vm.flag = false;this.dataList = this.firstDataList;console.log("3-1后选择结束");}},},
};
</script>

基于vue实现精妙绝伦的三级联动相关推荐

  1. 基于vue开发的多条件联动筛选特效(类似京东/淘宝/中国移动)

    基于vue实现的多条件联动筛选功能(类似中国移动商城),选中,反选,删除功能. UI库用的ivew 先来张实现的效果图 展开时候的效果 收起时候的效果 代码如下: 1. html(用了iview的UI ...

  2. vue中实现省市区三级联动(V-Distpicker插件)

    本次项目中使用了V-Distpicker 插件实现了省市区三级联动 V-Distpicker 项目文档地址 V-Distpicker git地址 使用方法 npm install v-distpick ...

  3. vue移动端省市区三级联动

    安装:npm i v-distpicker --save 使用: <!--三级联动--><div class="address" v-show="pop ...

  4. vue+elementui 省区市三级联动+详细地址信息输入

    需求 省市区地址由前半部分的级联选择,后面的具体信息利用input框输入.封装成组件,已有的地址信息由父组件传入,此组件能显示已有的地址信息,且能修改地址的功能. 一.省市区三级联动 1.安装依赖 n ...

  5. 基于jQuery的AJAX实现三级联动菜单

    最近学习jQuery,所以就写了一个关于中国省市县/区的三级联动菜单,权当相互学习,相互促进,特此记录. 下面是嵌套js的html文件: <!DOCTYPE html> <html ...

  6. 前端 vue中使用 省市区三级联动

    https://blog.csdn.net/qq_33769914/article/details/82878693

  7. ElementUI自定义组件之地区三级联动

    由于家里变故和公司变动,近一年多没更新过博客了.近期稍有空暇,在此与有需要的朋友分享一个,基于Vue+ElementUI的地区三级联动组件. 先上效果图  上核心代码 MbDistrictPicker ...

  8. 省市区三级联动选择组件前端实现

    一 代码 <template><el-dialog:title="!dataForm.id ? '新增' : !disabled ? '修改' : '查看'":c ...

  9. python三级联动_ajax 实现三级联动

    ajax 实现三级联动,相当于写了一个小插件,用的时候直接拿过来用就可以了,这里我用了数据库中的chinastates表, 数据库内容很多,三级联动里的地区名称都在里面,采用的是代号副代号的方式 比如 ...

最新文章

  1. 阿里云 centos 6.9 安装 mysql 5.7
  2. BlogEngine.net 学习笔记(一)
  3. Java运行时动态加载类之ClassLoader方法带参数
  4. C语言满分代码:L1-056 猜数字 (20分)
  5. apex 查询_加速器关联好司机下载器下载的apex
  6. ADF Faces。 立即的自定义客户端事件
  7. c语言 两条线段位置,C++/STL实现判断平面内两条线段的位置关系代码示例
  8. 官方回应:钟南山院士是此次关于曹雪涛等论文调查复核专家组组长
  9. Vue.js 内部运行机制之总结 常见问题解答
  10. 漫步凸分析七——凸函数闭包
  11. 如何订阅MQTT服务器历史消息,MQTT协议之消息订阅
  12. Hadoop介绍及最新稳定版Hadoop 2.4.1下载地址及单节点安装
  13. Python爬虫简单入门
  14. 西瓜数据集的各种版本,比如说2.0,3.0,4.0都在这
  15. java gc 命令_Java 查看系统GC命令介绍
  16. 平安普惠java面试_【面经】平安普惠开发工程师面试
  17. CASAIM自动化精密尺寸测量设备全尺寸检测铸件自动化检测铸件
  18. python代码画word文档(python+pycharm)
  19. 口袋理财:“来了就是深圳人?”全国均价最高的房租了解一下
  20. python数据类型的转换

热门文章

  1. 贝壳房产问答匹配比赛-划水之旅
  2. Unity3d 原生录音 Microphone
  3. 射影几何----综合射影几何基础英文在线阅读网页
  4. c语言n阶方阵,如何用C语言编出一个N阶螺旋方阵?
  5. 破解创维酷开电视安装第三方应用限制以及替换默认桌面应用突破笔记
  6. C/S软件架构设计模式
  7. 解决Spring JPA自动更新数据库的问题
  8. 滴滴出行为什么要推一个“全民拼车日”?
  9. 游戏美术设计从业者过了30岁后都是如何发展的?
  10. rdo远程桌面管理快捷键在哪里?