<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
本文範例為大家分享了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>
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援it145.com。
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45