vue2實(shí)現(xiàn)省市區(qū)級(jí)聯(lián)選擇插件( 優(yōu)化版),鼠標(biāo)移入彈出移出隱藏

113.png

<style scoped>
.showChose{
width:100%;
display: none;
position:absolute;
z-index:1200;
border:1px solid rgba(221,221,221,0.8);
background-color: #fff;
/background:rgba(77,82,113,0.8);/
}
.city:hover .showChose{
display: block;
}
.title h4{
display:inline-block;
font-size: 16px;
line-height:0.88rem;
font-weight:normal;
color:#fff;
}
.area{
display:inline-block;
/font-size:0.24rem;/
font-size: 16px;
padding: 12px;
line-height:0.88rem;
margin-left:0.42rem;
color:#333;
/color:#fff;/
}
.addList{
width:100%;
padding-left:0.32rem;
/font-size:0.34rem;/
font-size: 14px;
line-height:0.88rem;
color:#333;
}
/* 修改的格式 /
.address ul{
width:100%;
height:100%;
padding:10px;
/
margin:10px;/
/
max-height: 4.4rem;/
overflow:auto;
}
.address ul li{
/
margin-left:5%;/
padding: 5px;
/
加上好可橫向顯示/
display: inline;
/
高度距離/
line-height: 40px;
/
float:left;
list-style: none*/
}
.address .title .active{
color:#0071B8;
border-bottom:0.02rem solid #0071B8;
}
.address ul .active{
color:#0071B8;
}
</style>
<template>
<div class="">

<div class="city">
<Button style="background:#b7aeda;color:#fff;font-size:16px" class="buttondiv" @click="showChose = true">{{Province?Province:info[province-1].name}}?{{City ? City:''}}?{{District ? District:''}}<Icon type="chevron-down" style="margin-left:3px"></Icon></Button>
<section class="showChose" style="width:360px;">
<section class="address">
<section class="title" style="background:#b7aeda;padding:20px;text-align: center;">
<h4>選擇省或城市或(縣,區(qū))</h4>
</section>
<section class="title" style="background:#f2f2f2">
<div class="area" @click="provinceSelected()">{{Province?Province:info[province-1].name}}</div>
<div class="area" @click="citySelected()" :class="City?'':'active'">{{City?City:'請(qǐng)選擇'}}</div>
<div class="area" @click="districtSelected()" :class="District?'':'active'" v-show="City">{{District?District:'請(qǐng)選擇'}}</div>
</section>
<ul>
<li class="addList" v-for="(v,k) in info" @click="getProvinceId(v.id, v.name, k)" v-show="showProvince" :class="v.selected ? 'active' : ''">{{v.name}}</li>
<li class="addList" v-for="(v,k) in showCityList" @click="getCityId(v.id, v.name, k)" v-show="showCity" :class="v.selected ? 'active' : ''">{{v.name}}</li>
<li class="addList" v-for="(v,k) in showDistrictList" @click="getDistrictId(v.id, v.name, k)" v-show="showDistrict" :class="v.selected ? 'active' : ''">{{v.name}}</li>
</ul>
</section>
</section>
</div>
</div>
</template>

<script>
import Cityjs from '../data/city.js'
//城市數(shù)據(jù)也可以直接寫(xiě)在data的info:[]中,但數(shù)據(jù)太大不建議,直接用js文件引入,
//文件太大如有需要的請(qǐng)加QQ群629907983下載
export default {
name: 'myAddress',
data () {
return {
showChose: false,
showProvince: true,
showCity: false,
showDistrict: false,
showCityList: false,
showDistrictList: false,
province: 1,//默認(rèn)1為北京
city: 3,
district: 57,
GetProvinceId: 2,
District: false,
Province: false,
City: false,
selected: false,
infocity:[],
info: [],
}
},
created() {
this.info = Cityjs;
},
methods: {
choseAdd: function() {
this.showChose = true;
},
closeAdd: function() {
this.showChose = false;
},
_filter(add,name,code) {
let result = [];
for(let i=0;i<add.length;i++) {
if(code == add[i].id){
result = add[i][name];
}
}
return result;
},
getProvinceId: function(code,input,index) {
this.province = code;
this.Province = input;
this.showProvince=false;
this.showCity=true;
this.showDistrict = false;
this.showCityList = this._filter(this.info,'city',this.province);
// 點(diǎn)擊選擇當(dāng)前
this.info.map( a => a.selected = false );
this.info[index].selected = true;
},
provinceSelected: function() {
// 清除市級(jí)和區(qū)級(jí)列表
this.showCityList = false;
this.showDistrictList = false;
// 清除市級(jí)和區(qū)級(jí)選項(xiàng)
this.City = false;
this.District = false;
// 選項(xiàng)頁(yè)面的切換
this.showProvince = true;
this.showCity = false;
this.showDistrict = false;
},
getCityId: function(code, input, index) {
this.city = code;
this.City = input;
this.showProvince=false;
this.showCity=false;
this.showDistrict = true;
this.showDistrictList = this._filter(this.showCityList,'district',this.city);
// 選擇當(dāng)前添加active
this.showCityList.map( a => a.selected = false );
this.showCityList[index].selected = true;
},
citySelected: function() {
this.showProvince=false;
this.showCity=true;
this.showDistrict = false;
},
getDistrictId: function(code, input, index) {
this.district = code;
this.District = input;
// 選擇當(dāng)前添加active
this.showDistrictList.map( a => a.selected = false );
this.showDistrictList[index].selected = true;
// 選取市區(qū)選項(xiàng)之后關(guān)閉彈層
this.showChose = false;
},
districtSelected: function() {
this.showProvince=false;
this.showCity=false;
this.showDistrict = true;
}
}
}
</script>

//城市數(shù)據(jù)也可以直接寫(xiě)在data的info:[]中,但數(shù)據(jù)太大不建議,直接用js文件引入,
//文件太大如有需要的請(qǐng)加QQ群629907983下載

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末拥峦,一起剝皮案震驚了整個(gè)濱河市笛粘,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌占调,老刑警劉巖打瘪,帶你破解...
    沈念sama閱讀 221,198評(píng)論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件啄踊,死亡現(xiàn)場(chǎng)離奇詭異遭殉,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)崔泵,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門(mén)秒赤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人憎瘸,你說(shuō)我怎么就攤上這事入篮。” “怎么了幌甘?”我有些...
    開(kāi)封第一講書(shū)人閱讀 167,643評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵潮售,是天一觀的道長(zhǎng)痊项。 經(jīng)常有香客問(wèn)我,道長(zhǎng)酥诽,這世上最難降的妖魔是什么鞍泉? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,495評(píng)論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮肮帐,結(jié)果婚禮上咖驮,老公的妹妹穿的比我還像新娘。我一直安慰自己训枢,他們只是感情好托修,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,502評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著恒界,像睡著了一般睦刃。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上十酣,一...
    開(kāi)封第一講書(shū)人閱讀 52,156評(píng)論 1 308
  • 那天涩拙,我揣著相機(jī)與錄音,去河邊找鬼婆誓。 笑死吃环,一個(gè)胖子當(dāng)著我的面吹牛也颤,可吹牛的內(nèi)容都是我干的洋幻。 我是一名探鬼主播,決...
    沈念sama閱讀 40,743評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼翅娶,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼文留!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起竭沫,我...
    開(kāi)封第一講書(shū)人閱讀 39,659評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤燥翅,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后蜕提,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體森书,經(jīng)...
    沈念sama閱讀 46,200評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,282評(píng)論 3 340
  • 正文 我和宋清朗相戀三年谎势,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了凛膏。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,424評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡脏榆,死狀恐怖猖毫,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情须喂,我是刑警寧澤吁断,帶...
    沈念sama閱讀 36,107評(píng)論 5 349
  • 正文 年R本政府宣布趁蕊,位于F島的核電站,受9級(jí)特大地震影響仔役,放射性物質(zhì)發(fā)生泄漏掷伙。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,789評(píng)論 3 333
  • 文/蒙蒙 一又兵、第九天 我趴在偏房一處隱蔽的房頂上張望炎咖。 院中可真熱鬧,春花似錦寒波、人聲如沸乘盼。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,264評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)绸栅。三九已至,卻和暖如春页屠,著一層夾襖步出監(jiān)牢的瞬間粹胯,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,390評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工辰企, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留风纠,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,798評(píng)論 3 376
  • 正文 我出身青樓牢贸,卻偏偏與公主長(zhǎng)得像竹观,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子潜索,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,435評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理臭增,服務(wù)發(fā)現(xiàn),斷路器竹习,智...
    卡卡羅2017閱讀 134,693評(píng)論 18 139
  • 小荻老師12天的溝通訓(xùn)練營(yíng)結(jié)束了誊抛,在這個(gè)過(guò)程中我學(xué)習(xí)到了在溝通前先要去確定自己的對(duì)象,了解他是一個(gè)什么樣性格的人整陌,...
    包包胡老師閱讀 669評(píng)論 0 50
  • 坐在手術(shù)室門(mén)口等待 總想給你寫(xiě)點(diǎn)什么 陪伴你的三天三夜 —壹— 凌晨2017年10月26日12:36拗窃,...
    半山女子閱讀 787評(píng)論 0 0
  • 文|兮兮婭叮噹 臨近月末随夸,要做總結(jié)給自己評(píng)分的時(shí)候,如果評(píng)分比較高甥郑,通常是對(duì)自己滿意的逃魄,來(lái)源就是各個(gè)在做的事都在計(jì)...
    Cynthia雯霏閱讀 232評(píng)論 0 1