iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >Vue自定义省市区三级联动
  • 899
分享到

Vue自定义省市区三级联动

2024-04-02 19:04:59 899人浏览 独家记忆
摘要

本文实例为大家分享了Vue自定义省市区三级联动的具体代码,供大家参考,具体内容如下 1.如图(省市区加上全部联动) 第一步:找到了一个普通的省市区先进行遍历更改 2.把更改后的JS

本文实例为大家分享了Vue自定义省市区三级联动的具体代码,供大家参考,具体内容如下

1.如图(省市区加上全部联动)

第一步:找到了一个普通的省市区先进行遍历更改

2.把更改后的JSON文件放入vue项目中引入到你想要的页面

3.剩余代码如下

<template>
  <div class="percentloop">
     <!-- 地区选择 -->
      <section class="section">
        <p class="tittle">
          <span class="important_font">*</span>
          <span>地区筛选</span>
        </p>
 
        <div class="box">
          <div class="area">
            <!-- 省 -->
            <li class="area-menu province-list">
              <div class="area-msg" @click.stop="show(0)">
                {{areaList[province].provinceName}}
              </div>
              <ul v-show="showindex[0]">
                <li v-for="(item,index) in areaList" :key="index"
                  @click.stop="selprovinceName(index,item.provinceName)">
                  {{item.provinceName}}
                </li>
              </ul>
            </li>
            <span class="text">省</span>
 
            <!-- 市 -->
            <li class="area-menu city-list">
              <div class="area-msg" @click.stop="show(1)">
                {{areaList[province].areaVOList[cityIndex].cityName}}
              </div>
              <ul v-show="showindex[1]">
                <li v-for="(item,index) in areaList[province].areaVOList" :key="index"
                  @click.stop="selcityName(index,item.cityName)">
                  {{item.cityName}}
                </li>
              </ul>
            </li>
            <span class="text">市</span>
 
            <!-- 区 -->
            <li class="area-menu region-list">
              <div class="area-msg" @click.stop="show(2)">
                {{areaList[province].areaVOList[cityIndex].areaVOList[countyIndex].countyName}}
              </div>
              <ul v-show="showindex[2]" style="right:-40px;">
                <li v-for="(item,index) in areaList[province].areaVOList[cityIndex].areaVOList" :key="index"
                  @click.stop="selcountyName(index,item.countyName)">
                  {{item.countyName}}</li>
              </ul>
            </li>
 
            <span class="text">区/县</span>
          </div>
        </div>
      </section>
 
 
  </div>
</template>
 
<script>
  let data = {
    areaList: [], //省市区三级联动的数据
        InitializeList: [], //我写得联动数据
 
        showindex: [false, false, false], //控制省市区弹框显示
 
        province: 0, //默认省下标
        cityIndex: 0, //默认市下标
        countyIndex: 0, //默认区下标
 
        istoubi: false,
        selectType: 0, //默认广告类型索引   全部
        attr1Index: -1, //默认广告位置类型索引   
        attr2Index: -1, //默认设备类型索引    
 
        //发送给后台的值
        address_str: ['全部', '全部', '全部'], //地址
 
        select_parmas: {
          county: '全部,全部,全部', //省市区
          selectTypeID: -1, //选择的广告类型id
          selectAttr1ID: -1, //选择的广告位置id
          selectAttr2ID: -1, //选择的设备类型id
        }
  }
 
  $('html').click(function (e) {
    data.showindex = [false, false, false]
  })
 
  import Area from '../../static/json/area.json'
 
  export default {
    data() {
      return data
    },
    created() {
      console.log(this.area)
      this.areaList = this.area[0];
 
      // console.log(Area)
      // this.areaList = Area[0];
    },
 
    methods: {
 
     //显示下拉框
      show(index) {
        let arr = [...this.showindex];
        //弹框显示时 直接全部隐藏
        if (arr[index] == true) {
          arr = [false, false, false]
        } else {
          arr = [false, false, false] //初始化全部隐藏
          arr[index] = true
        }
 
        this.showindex = arr;
      },
 
      //省的点击事件
      selprovinceName(index, value) {
        this.showindex = [false, false, false]
 
        this.province = index;
        this.cityIndex = 0; //默认市下标
        this.countyIndex = 0; //默认区下标
 
        let address = [...this.address_str]
        address[0] = value;
        this.address_str = address;
 
      },
 
      //市的点击事件
      selcityName(index, value) {
        this.showindex = [false, false, false]
        this.cityIndex = index;
        this.countyIndex = 0; //默认区下标
 
        let address = [...this.address_str]
        address[1] = value;
        this.address_str = address;
      },
 
      //区的点击事件
      selcountyName(index, value) {
        this.showindex = [false, false, false]
        this.countyIndex = index;
 
        let address = [...this.address_str]
        address[2] = value;
        this.address_str = address;
      },
 
    },
 
  }
 
</script>
 
<style scoped lang="sCSS">
  @import "../common/common";
  .section {
      box-sizing: border-box;
      margin-bottom: 0.38rem;
 
      .tittle {
        margin-bottom: 0.2rem;
      }
 
      .box {
        .labelspan {
          margin-right: 0.18rem;
          margin-bottom: 0.19rem;
          box-sizing: border-box;
        }
 
        //视频时长
        .longvalue {
          display: flex;
          flex-wrap: nowrap;
          align-items: center;
          margin-bottom: 0.1rem;
 
          .time_box {
            width: 1.6rem;
            height: 0.56rem;
            line-height: 0.56rem;
            border: 1px solid rgba(230, 230, 230, 1);
            border-radius: 0.1rem;
            padding-left: 0.38rem;
            margin: 0 0.17rem;
 
          }
        }
 
 
        //选择投放时间
        .slect {
          width: 100%;
          line-height: 0.56rem;
          border: 1px solid rgba(230, 230, 230, 1);
          border-radius: 0.1rem;
          padding-left: 0.2rem;
          color: #4984EB;
        }
 
        //选择时间段
        .slect_time {
          display: flex;
          flex-wrap: nowrap;
          align-items: center;
 
          .middle {
            margin: 0 0.24rem;
            line-height: 0.56rem;
          }
 
          .time_box {
            width: 1.6rem;
            height: 0.56rem;
            line-height: 0.56rem;
            border: 1px solid rgba(230, 230, 230, 1);
            border-radius: 0.1rem;
            padding-left: 0.38rem;
          }
        }
 
 
      }
 
      .tip {
        //   margin-top: 
      }
    }
 
 
      .area {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
 
    .text {
      margin: 0 0.15rem;
    }
 
    .area-menu {
      position: relative;
      display: inline-block;
 
      .area-msg {
        width: 1.5rem;
        height: 0.56rem;
        line-height: 0.56rem;
        background-color: #fff;
        border: 1px solid #dcdcdc;
        border-radius: 0.1rem;
        text-align: center;
        overflow: hidden;
      }
 
      ul {
        position: absolute;
        top: 0.57rem;
        width: 160px;
        height: auto;
        max-height: 180px;
        font-size: 14px;
        overflow-y: scroll;
        background-color: #fff;
        border: 1px solid #DDD;
        border-radius: 4px;
 
        li {
          text-align: center;
          height: 30px;
          line-height: 30px;
        }
      }
    }
  }
 
</style>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: Vue自定义省市区三级联动

本文链接: https://www.lsjlt.com/news/141756.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Vue自定义省市区三级联动
    本文实例为大家分享了Vue自定义省市区三级联动的具体代码,供大家参考,具体内容如下 1.如图(省市区加上全部联动) 第一步:找到了一个普通的省市区先进行遍历更改 2.把更改后的js...
    99+
    2022-11-13
  • java实现省市区三级联动
    本文实例为大家分享了java实现省市区三级联动的具体代码,供大家参考,具体内容如下 我搭建的是SSM 框架: 一、实现三级联动 以省市区为例:我的想法很简单 ,可能想的有点少,首先遍...
    99+
    2022-11-13
  • Ajax实现省市区三级联动
    目录需要的jar包:数据库代码:省:市:区:页面展示代码:DBHelper类:总结需要的jar包: 数据库代码: create database school charact...
    99+
    2022-11-12
  • Vue如何实现省市区三级联动el-select组件
    这篇文章主要介绍“Vue如何实现省市区三级联动el-select组件”,在日常操作中,相信很多人在Vue如何实现省市区三级联动el-select组件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Vu...
    99+
    2023-07-05
  • 利用级联选择器实现省市区三级联动【vue + elementUI Plus | uViewUI】
    文章目录 准备数据vue + ElementUI Plus 利用级联选择器实现省市区三级联动学习记录具体代码 vue + uViewUI 利用选择器多列联动实现省市区三级联动 (uniapp学习记录具体代码 准备数据 ...
    99+
    2023-08-19
    vue.js elementui javascript 小程序 前端
  • Ajax如何实现省市区三级级联
    这篇文章主要介绍Ajax如何实现省市区三级级联,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!实现Ajax实现省市区三级级联,需要Java解析json技术 整体Demo下载地址如下: 点我下载address.html&...
    99+
    2023-06-08
  • 三级联动省市ajax的代码
    目录创建数据库首先创建 City 和 Province 类 给getter setter tostring 以及 构造方法 Province类City类连接数据库创建 接口 Prov...
    99+
    2022-11-12
  • Ajax实现省市区三级联动实例代码
    html代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF...
    99+
    2022-11-13
  • vue实现省市区的级联选择
    最近要实现一个省市区级联选择效果,省市区的数据都是使用的本地数据,实现起来逻辑会有一点复杂,我在这里列举PC端的总结分享一下,移动端的代码也是差不多的,除了html之外,其它的可以复...
    99+
    2022-11-12
  • js实现简单省市区三级选择联级
    本文实例为大家分享了js实现省市区三级选择联级的具体代码,供大家参考,具体内容如下 代码: <!DOCTYPE html> <html lang="en"&g...
    99+
    2022-11-12
  • AJAX实现省市县三级联动效果
    最近在学AJAX做到这个省市县三级联动的案例,这里只是讲一下ajax请求的一些知识,对服务端数据.php文件就不叙述了。 (tips:其实省市县三级联动只需要引入jQuery省市县三...
    99+
    2022-11-12
  • ajax实现三级联动省市的代码
    本篇内容主要讲解“ajax实现三级联动省市的代码”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“ajax实现三级联动省市的代码”吧!目录创建数据库首先创建 City 和 Province 类 给g...
    99+
    2023-06-20
  • js实现省市区三级联动非select下拉框版
    在网上搜三级联动发现都是用option写的,突发奇想用其他方式写了一个,自我感觉效果还不错,大家感兴趣的可以看看,不说废话,大家看效果 代码如下,小白写的有点乱,大家想看的就看...
    99+
    2022-11-12
  • Vue使用distpicker插件实现省市级下拉框三级联动
    目录前言安装distpicker引用并注册distpicker使用distpicker移动端适配美化样式取值总结前言 这几天做项目,想着用一个全国省市区插件,之前就知道有几种,比如通...
    99+
    2023-02-22
    Vue省市级下拉框三级联动 Vue使用distpicker插件 vue三级联动
  • Android自定义WheelView地区选择三级联动
    本文实例为大家分享了WheelView地区选择三级联动的具体代码,供大家参考,具体内容如下 1. 效果 最近需要做一个地区选择的功能,但是在网上和github上找了很久都没找到...
    99+
    2022-06-06
    选择 wheelview 级联 Android
  • jQuery-Citys省市区三级菜单联动插件使用说明
    本篇内容介绍了“jQuery-Citys省市区三级菜单联动插件使用说明”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够...
    99+
    2022-10-19
  • Vue实现省市区级联下拉选择框
    本文实例为大家分享了Vue实现省市区级联下拉选择框的具体代码,供大家参考,具体内容如下 以(Vue下拉选择框Select组件二)为基础实现省市区级联下拉选择框组件 (业务需...
    99+
    2022-11-13
  • Android省市区三级联动控件使用方法实例讲解
     最近有需求需要实现省市区三级联动,但是发现之前的实现不够灵活,自己做了一些优化。为了方便以后使用,抽离出来放在了github上WheelView。同时把其核心库放在了JCen...
    99+
    2022-06-06
    方法 级联 Android
  • Android使用android-wheel实现省市县三级联动
    今天没事跟群里面侃大山,有个哥们说道Android Wheel这个控件,以为是Andriod内置的控件,google一把,发现是个github上的一个控件。 下载地址:http...
    99+
    2022-06-06
    wheel 级联 Android
  • AJAX和WebService如何实现省市县三级联动
    小编给大家分享一下AJAX和WebService如何实现省市县三级联动,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! ...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作