element ui 下拉菜单组件 结合springboot 实现省市区简易三级联动 动态查询 并修改地点的省市区

news2024/9/29 11:32:45

目录

前言:

一.数据库表结构:

 二.下拉菜单组件

2.1 效果展示

2.2下拉菜单的组件代码:


前言:

本篇博客,通过官网的学习,实现下拉菜单动态数据的传递与点击事件,如果只是按部就班的按照官网来,官网下拉菜单模板所提供的事件只能传死数据,很多博主都是照虎画猫,传递死数据,含金量不够。但是这一篇,不一样。如果感觉被骗,请在评论区直接开骂

一.数据库表结构:

 

 通过自连接查询市,区,懂得都懂,发个sql语句

查询市:

select a2.*
from sys_area a1
         join sys_area a2 on a2.parentId = a1.code
where a1.code = #{code}

查询区:

select a3.*
from sys_area a1
         join sys_area a2 on a2.parentId = a1.code
         join sys_area a3 on a3.parentId = a2.code
where a2.code =#{code}

 二.下拉菜单组件

2.1 效果展示

 页面不够美观,但是功能没有问题,另外,湖南的朋友,包括各地的朋友可以看看查询的效果对不对,是否有自己的家乡

2.2下拉菜单的组件代码:

        <!--        省份下拉框-->
        <el-dropdown @click="selectCityByProvince" trigger="click" split-button="true" placement="top-start">
  <span class="el-dropdown-link">省
    <i class="el-icon-arrow-down el-icon--right"></i>
  </span>
          <el-dropdown-menu slot="dropdown">
            <el-dropdown-item v-for="province in provinces"
                              @click.native="selectCityByProvince(province.name,province.code)">{{ province.name }}
            </el-dropdown-item>
          </el-dropdown-menu>
        </el-dropdown>

        <!--        城市下拉框-->
        <el-dropdown @click="selectDistrictByCity" trigger="click" split-button="true" placement="top-start">
  <span class="el-dropdown-link">市
    <i class="el-icon-arrow-down el-icon--right"></i>
  </span>
          <el-dropdown-menu slot="dropdown">
            <el-dropdown-item v-for="city in cities" @click.native="selectDistrictByCity(city.name,city.code)">
              {{ city.name }}
            </el-dropdown-item>
          </el-dropdown-menu>
        </el-dropdown>

        <!--        区域下拉框-->
        <el-dropdown @click="saveCommunityForUpdate" trigger="click" split-button="true" placement="top-start">
  <span class="el-dropdown-link">市
    <i class="el-icon-arrow-down el-icon--right"></i>
  </span>
          <el-dropdown-menu slot="dropdown">
            <el-dropdown-item v-for="dis in districts" @click.native="saveCommunityForUpdate(dis.name,dis.code)">
              {{ dis.name }}
            </el-dropdown-item>
          </el-dropdown-menu>
        </el-dropdown>

看过官网的朋友,看懂结构应该不成问题,但还是把重点讲解一下

1.

<el-dropdown @click="saveCommunityForUpdate" trigger="click" split-button="true" placement="top-start">

官网绑定的是command只能传递死数据,替换成click,trigger是用来实现下拉菜单的展示是通过点击展开,还是通过hover展开

2.

<el-dropdown-item v-for="dis in districts" @click.native="saveCommunityForUpdate(dis.name,dis.code)">
  {{ dis.name }}
</el-dropdown-item>

遍历,同时绑定点击事件,点击选项框,即可触发点击事件。官网的页面如下

触发事件后传递的数据是死的。另外,经过我的研究,command内不能传递动态数据,如果可以的话在评论区教教我 

2.3查询方法:

selectCityByProvince(name, code) {
      console.log(name)
      console.log(code)
      this.provinceName = name
      //发送请求查询省下面的市
      this.axios.get("http://localhost:8080/selectCity?code=" + code)
          .then(result => {
            if (result.data.status == "OK") {
              console.log("查询省下面的市" + result);
              //将查询结果存入cities
              this.cities = result.data.data
              //将省的编号给对象
              this.community.communityProvenceCode = code
            }
          })
    },
    //通过市查询区的方法
    selectDistrictByCity(name, code) {
      this.axios.get("http://localhost:8080/selectDistrict?code=" + code)
          .then(result => {
            if (result.data.status == "OK") {
              console.log("查询到的区" + result)
              this.districts = result.data.data;
              //将修改的市的编号给对象
              this.community.communityCityCode = code
            }
          })
    },

    saveCommunityForUpdate(name, code) {
      console.log("查询到的区" + name)
      this.community.communityTownCode = code
      console.log(this.community.communityTownCode)

    },

 思路:

1.进入该页面的时候,查询所有省份的数据,传给省份的下拉菜单。

2.点击选中的省份触发点击事件,发送请求给后端,返回该省份所拥有的城市的信息,通过自连接实现。

3.点击选中的市,查询出该市拥有的区。

4.将选中的省市区的编号传给绑定的对象,发送给后台,实现省市区查询

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/353611.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

29岁从事功能测试被辞,面试2个月都找不到工作吗?

最近一个28岁老同学联系我&#xff0c;因为被公司辞退&#xff0c;找我倾诉&#xff0c;于是写下此文。 他是14年二本毕业&#xff0c;在我的印象里人特别懒&#xff0c;不爱学习&#xff0c;专业不好&#xff0c;毕业前因为都没找到合适工作&#xff0c;直接去创业了&#xf…

03:入门篇 - CTK Plugin Framework 基本原理

作者: 一去、二三里 个人微信号: iwaleon 微信公众号: 高效程序员 CTK Plugin Framework 技术是面向 C++ 的动态模型系统。该系统允许插件之间的松散耦合,并且提供了设计良好的方式来进行功能和数据的交互。此外,它没有预先对插件施加限制,这样就可以很容易地将插件的相关…

研报精选230217

目录 【行业230217毕马威】奢侈品行业新气象【行业230217国信证券】医药生物行业2023年2月投资策略&#xff1a;持续关注疫后复苏和创新两大主线【行业230217国金证券】航空锻造&#xff1a;稳定格局筑专业化壁垒&#xff0c;顺势而为拓产业链深度【个股230217西南证券_招商轮船…

javaEE 初阶 — 传输层 TCP 协议 中的延迟应答与捎带应答

文章目录1. 延迟应答2. 捎带应答TCP 工作机制&#xff1a;确认应答机制 超时重传机制 连接管理机制 滑动窗口 流量控制与拥塞控制 1. 延迟应答 延时应答 也是提升效率的机制&#xff0c;也是在滑动窗口基础上搞点事情。 滑动窗口的关键是让窗口大小大一点&#xff0c;传输…

LabVIEW监控实时嵌入式目标上的CPU和内存使用情况

LabVIEW监控实时嵌入式目标上的CPU和内存使用情况NI实时&#xff08;RT&#xff09;控制器上有不同的用于监测CPU和内存使用情况的不同选项。可用内存量取决于多个因素&#xff0c;包括已安装的软件和用户应用程序内存要求。本文将介绍从Windows操作系统访问此信息的不同方法&a…

盘点23大厂互联网秋招技术岗薪资!

2023届秋招形式比起前几年严峻了很多。根据牛客网、offershow小程序、脉脉、qq微信群等渠道收集汇总了一波2023届秋招技术岗薪资情况&#xff0c;发现对比2022届秋招薪资基本没有太大变化&#xff0c;往年秋招出现的倒挂现象在23届的秋招中消失了。一起来看下2023届秋招技术岗薪…

Hashtable底层原理分析

特点 1、存放k-v键值对 2、key\value均不能是null&#xff0c;否则会抛出空指针异常NullPointerException 3、线程安全的&#xff0c;底层使用synchronized 高频问题 1、初始化大小多少&#xff1f;什么时候初始化&#xff1f; 答&#xff1a;默认11&#xff0c;在第一次put…

流量主开通一周,收益55块了,周末可以加个鸡腿!记录一下我开通流量主到有收益的艰难过程!

文章目录公众号【字节卷动】账号历程注册写文冻结解冻漫无目的的写作重新出发大佬带我憧憬申请流量主失败腾讯客服有人工吗&#xff1f;白高兴一场流量主正式开通全力开干付出总有回报总结公众号【字节卷动】账号历程 注册 其实在2017年1月我就注册了公众号&#xff0c;但是一…

【网络原理5】IP协议篇

目录 IP协议报头 4位版本号 4位首部长度 8位服务类型(TOS) 16位总长度 IP拆包 16位标识、3位标志、13位片偏移​编辑 8位生存时间(TTL) 8位协议 16位首部校验和 网络地址管理 32位源ip&32位目的ip 方案一:动态分配ip地址 方案2:NAT网络地址转换(使用一个ip代…

docker中安装Mariadb

一、 docker中下载mariadb我的安装的版本是10.1.21&#xff0c;&#xff08;大家可以根据自己的需求制定版本&#xff09;docker pull mariadb:10.1.21 二、新建一个目录作为容器的映射目录新建目录用来将容器的目录及数据挂载到该目录下mkdir -p /data/mariadb/data 三、启动m…

Java反序列化漏洞——CommonsCollections1链分析

CC1的链在jdk-8u71之后因为AnnotationInvocationHandler的修改已无法利用。一、TransformedMap基于jdk-8u65进行试验1.Rutime.getRuntime().exec()Runtime.getRuntime().exec("calc");2.Runtime类不允许序列化&#xff0c;所有需要调用反射进行命令执行&#xff0c;将…

无需经验的steam搬砖,每天操作1小时,轻松创业赚钱!

我作为一个95后社畜&#xff0c;就喜欢倒腾各种赚钱的事情&#xff0c;8年老韭菜告诉你&#xff0c;副业创收一点都不难&#xff0c;难就难在是否找对项目&#xff0c;俗话说方向不对&#xff0c;努力白费&#xff01; 什么做苦力、技能、直播卖货&#xff0c;电商等等对比我这…

面试题59 - II. 队列的最大值

题目 请定义一个队列并实现函数 max_value 得到队列里的最大值&#xff0c;要求函数max_value、push_back 和 pop_front 的均摊时间复杂度都是O(1)。 若队列为空&#xff0c;pop_front 和 max_value 需要返回 -1 思路 对于一个普通队列&#xff0c;push_back 和 pop_front…

ChatGPT 简介

目录1 背景与发展历程1.1 背景1.2 发展历程2 技术原理2.1 第一阶段&#xff1a;训练监督策略模型2.2 第二阶段&#xff1a;训练奖励模型2.3 第三阶段&#xff1a;采用强化学习来增强模型的能力。3 国内使用情况及应用的领域4 面临的数据安全挑战与建议4.1 ChatGPT获取数据产生的…

传奇SF架设问题处理方式

传奇SF架设问题处理方式 正常开服当中我们会遇到很多问题&#xff0c;比如游戏黑屏、登录器链接失败等等。 接下来我会把经常会遇到的问题罗列出来以及解决方法附上 传奇M2引擎出现时间格式报错&#xff1f; 这个解决方法有两种第一种是在你电脑桌面的右下角修改时间格式为短…

开源堡垒机GateOne安装

GateOne 是一款基于 html5 实现的 ssh 客户端&#xff0c;有如下特点&#xff1a;不需要任何浏览器插件支持多用户和多终端&#xff0c;同时支持上百个用户和终端终端支持高级特性&#xff0c;例如 256 色彩&#xff0c;高级文本样式支持支持终端截图&#xff0c;保存为图片和 …

【Oracle实用小技巧一】

PLSQL里一些实用的小技巧&#xff0c;可以让日常工作更便捷。 1、PLSQL可以直接打开命令行测试语句&#xff0c;非常方便&#xff0c;可以在SQL窗口里测试好语句&#xff0c;再在SQL文件里编写查询脚本。 2、describe tablename查询数据表结构&#xff1b; 3、upper(text)字…

Yakit实战技巧:用MITM热加载任意修改流量

背景 用户在使用 Yakit MITM 功能的时候&#xff0c;经常会遇到一些特殊需求&#xff1a; 我的数据包需要携带一些特征变量才能访问&#xff0c;但是浏览器无法做到&#xff0c;我可以批量修改流量新增某一个 Header 吗&#xff1f; 我可以在代理层面在所有流量中新增一个参数…

L1-072 刮刮彩票

“刮刮彩票”是一款网络游戏里面的一个小游戏。如图所示&#xff1a; 每次游戏玩家会拿到一张彩票&#xff0c;上面会有 9 个数字&#xff0c;分别为数字 1 到数字 9&#xff0c;数字各不重复&#xff0c;并以 33 的“九宫格”形式排布在彩票上。 在游戏开始时能看见一个位置上…

JavaEE——MyBatis配置文件的详细介绍

简单介绍&#xff1a; 需要我们编写的配置文件主要有三个&#xff0c;分别是核心配置文件&#xff08;mybatis-config.xml&#xff09;&#xff0c;数据库连接信息文件&#xff08;db.properties&#xff09;&#xff0c;SQL语句映射文件&#xff08;Mappers&#xff09;&…