Rumah > hujung hadapan web > tutorial js > 使用vue2.0.js实现多级联动选择器

使用vue2.0.js实现多级联动选择器

亚连
Lepaskan: 2018-06-06 15:31:19
asal
3100 orang telah melayarinya

下面我就为大家分享一篇vue2.0.js的多级联动选择器实现方法,具有很好的参考价值,希望对大家有所帮助。

由于工作需求,想实现一个多级联动选择器,但是网上现有的联动选择器都不是我想要的,我参照基于vue2.0的element-ui中的Cascader级联选择器的样式实现了复合自己要求的多级联动选择器,原理很简单,不多说,直接上代码。。。

<template>
 <p id="app">
 <p class="select">
  <p class="input_text"><input type="text" name="" v-on:focus="options1Show" v-model="result"></p>
  <p class="options1" v-show="options1isShow">
  <ul>
   <li v-on:click="toClick(option.value)" v-for="option in options">{{option.label}}</li>
  </ul>
  </p>
  <p class="options2" v-show="options2isShow">
  <ul >
   <li v-for="item in secondOptions" v-on:click="selectResult(item.label,item.value)">{{item.label}}</li>
  </ul>
  </p>
 </p>
 </p>
</template>
<script>
export default {
 name: &#39;app&#39;,
 data(){
 return {
  options:[
  {
   value:&#39;zhinan&#39;,
   label:&#39;指南&#39;,
   children:[
   {
    value: &#39;yizhi&#39;,
    label: &#39;一致&#39;
   }, {
    value: &#39;fankui&#39;,
    label: &#39;反馈&#39;
   }, {
    value: &#39;xiaolv&#39;,
    label: &#39;效率&#39;
   }, {
    value: &#39;kekong&#39;,
    label: &#39;可控&#39;
   }
   ]
  },
  {
   value: &#39;daohang&#39;,
   label: &#39;导航&#39;,
   children: [{
   value: &#39;cexiangdaohang&#39;,
   label: &#39;侧向导航&#39;
   }, 
   {
   value: &#39;dingbudaohang&#39;,
   label: &#39;顶部导航&#39;
   }]
  }
  ],
  secondOptions:[],
  options1isShow:false,
  options2isShow:false,
  result:&#39;&#39;
 }
 },
 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>
Salin selepas log masuk

上面是我整理给大家的,希望今后会对大家有帮助。

相关文章:

在vue.js中利用select下拉框实现绑定和取值方法

通过vue在v-for循环复选框中默认勾选第一个如何实现?

在JS表单中如何实现传值和URL编码转换?

Atas ialah kandungan terperinci 使用vue2.0.js实现多级联动选择器. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan