vue2.0.js的多級(jí)聯(lián)動(dòng)選擇器實(shí)現(xiàn)方法
由于工作需求,想實(shí)現(xiàn)一個(gè)多級(jí)聯(lián)動(dòng)選擇器,但是網(wǎng)上現(xiàn)有的聯(lián)動(dòng)選擇器都不是我想要的,我參照基于vue2.0的element-ui中的Cascader級(jí)聯(lián)選擇器的樣式實(shí)現(xiàn)了復(fù)合自己要求的多級(jí)聯(lián)動(dòng)選擇器,原理很簡(jiǎn)單,不多說(shuō),直接上代碼。。。
<template>
<div id="app">
<div class="select">
<div class="input_text"><input type="text" name="" v-on:focus="options1Show" v-model="result"></div>
<div class="options1" v-show="options1isShow">
<ul>
<li v-on:click="toClick(option.value)" v-for="option in options">{{option.label}}</li>
</ul>
</div>
<div class="options2" v-show="options2isShow">
<ul >
<li v-for="item in secondOptions" v-on:click="selectResult(item.label,item.value)">{{item.label}}</li>
</ul>
</div>
</div>
</div>
</template>
<script>
export default {
name: 'app',
data(){
return {
options:[
{
value:'zhinan',
label:'指南',
children:[
{
value: 'yizhi',
label: '一致'
}, {
value: 'fankui',
label: '反饋'
}, {
value: 'xiaolv',
label: '效率'
}, {
value: 'kekong',
label: '可控'
}
]
},
{
value: 'daohang',
label: '導(dǎo)航',
children: [{
value: 'cexiangdaohang',
label: '側(cè)向?qū)Ш?
},
{
value: 'dingbudaohang',
label: '頂部導(dǎo)航'
}]
}
],
secondOptions:[],
options1isShow:false,
options2isShow:false,
result:''
}
},
methods:{
options1Show:function(){
this.options1isShow=true;
},
toClick:function(item){
this.secondOptions=[];
for(var i=0;i<this.options.length;i++){
if(this.options[i].value==item){
console.log(this.options[i].children);
this.secondOptions=this.options[i].children;
console.log(this.secondOptions);
}
}
this.options2isShow=true;
},
selectResult:function(label){
this.result=label;
this.options1isShow=false;
this.options2isShow=false;
}
}
}
</script>
<style>
li,ul{
list-style: none;
padding:0;
margin:0;
}
li{
height:40px;
line-height: 40px;
border-bottom: 1px solid #ededed;
box-sizing: border-box;
text-align: center;
cursor: pointer;
}
.select{
position: relative;
}
.input_text>input{
width:170px;
height:30px;
border:1px solid #ddd;
}
.options1,.options2{
width:170px;
height:200px;
border:1px solid #ddd;
position: absolute;
background: #fff;
overflow-y: auto;
}
.options2{
left:170px;
}
</style>
以上這篇vue2.0.js的多級(jí)聯(lián)動(dòng)選擇器實(shí)現(xiàn)方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- Ant design vue中的聯(lián)動(dòng)選擇取消操作
- 基于Vue組件化的日期聯(lián)動(dòng)選擇器功能的實(shí)現(xiàn)代碼
- vue基于mint-ui實(shí)現(xiàn)城市選擇三級(jí)聯(lián)動(dòng)
- VUE2 前端實(shí)現(xiàn) 靜態(tài)二級(jí)省市聯(lián)動(dòng)選擇select的示例
- vue.js模仿京東省市區(qū)三級(jí)聯(lián)動(dòng)的選擇組件實(shí)例代碼
- vue基于mint-ui的城市選擇3級(jí)聯(lián)動(dòng)的示例
- vue學(xué)習(xí)之mintui picker選擇器實(shí)現(xiàn)省市二級(jí)聯(lián)動(dòng)示例
- vue省市區(qū)三聯(lián)動(dòng)下拉選擇組件的實(shí)現(xiàn)
- vue實(shí)現(xiàn)聯(lián)動(dòng)選擇
相關(guān)文章
ElementUI中el-input無(wú)法輸入、修改及刪除問(wèn)題解決辦法
這篇文章主要給大家介紹了關(guān)于ElementUI中el-input無(wú)法輸入、修改及刪除問(wèn)題的解決辦法,這種問(wèn)題產(chǎn)生是因?yàn)閕nput在vue中的受控,我們需要去重新改變一下監(jiān)聽(tīng)和實(shí)現(xiàn),需要的朋友可以參考下2023-11-11
Vue3封裝全局Dialog組件的實(shí)現(xiàn)方法
3封裝全局Dialog組件相信大家都不陌生,下面這篇文章主要給大家介紹了關(guān)于Vue3封裝全局Dialog組件的實(shí)現(xiàn)方法,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-06-06
Vue+WebSocket頁(yè)面實(shí)時(shí)刷新長(zhǎng)連接的實(shí)現(xiàn)
最近vue項(xiàng)目要做數(shù)據(jù)實(shí)時(shí)刷新,數(shù)據(jù)較大,會(huì)出現(xiàn)卡死情況,所以本文主要介紹了頁(yè)面實(shí)時(shí)刷新長(zhǎng)連接,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-06-06
element-plus報(bào)錯(cuò)ResizeObserver?loop?limit?exceeded解決辦法
這篇文章主要給大家介紹了關(guān)于element-plus報(bào)錯(cuò)ResizeObserver?loop?limit?exceeded的解決辦法,文中通過(guò)代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-07-07
element-ui中select下拉框加載大數(shù)據(jù)渲染優(yōu)化方式
這篇文章主要介紹了element-ui中select下拉框加載大數(shù)據(jù)渲染優(yōu)化方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11
如何在Vue中使用CleaveJS格式化你的輸入內(nèi)容
這篇文章主要介紹了如何在Vue中使用CleaveJS格式化你的輸入內(nèi)容,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-12-12

