vue2.0.js的多级联动选择器实现方法


Posted in Javascript onFebruary 09, 2018

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

<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: '导航',
   children: [{
   value: 'cexiangdaohang',
   label: '侧向导航'
   }, 
   {
   value: 'dingbudaohang',
   label: '顶部导航'
   }]
  }
  ],
  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的多级联动选择器实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
转一个日期输入控件,支持FF
Apr 27 Javascript
延时重复执行函数 lLoopRun.js
May 08 Javascript
JS setCapture 区域外事件捕捉
Mar 18 Javascript
js捕获鼠标右键菜单中的粘帖事件实现代码
Apr 01 Javascript
ie 7/8不支持trim的属性的解决方案
May 23 Javascript
js实现类似于add(1)(2)(3)调用方式的方法
Mar 04 Javascript
node.js操作mongodb学习小结
Apr 25 Javascript
详解Sea.js中Module.exports和exports的区别
Feb 12 Javascript
angularjs实现的购物金额计算工具示例
May 08 Javascript
一步一步的了解webpack4的splitChunk插件(小结)
Sep 17 Javascript
微信小程序 函数防抖 解决重复点击消耗性能问题实现代码
Sep 12 Javascript
layui对工具条进行选择性的显示方法
Sep 19 Javascript
使用mint-ui实现省市区三级联动效果的示例代码
Feb 09 #Javascript
vue二级路由设置方法
Feb 09 #Javascript
从零开始搭建一个react项目开发
Feb 09 #Javascript
Vue-Router2.X多种路由实现方式总结
Feb 09 #Javascript
浅谈react受控组件与非受控组件(小结)
Feb 09 #Javascript
基于Vue2.X的路由和钩子函数详解
Feb 09 #Javascript
Vuejs 单文件组件实例详解
Feb 09 #Javascript
You might like
PHP4实际应用经验篇(7)
2006/10/09 PHP
PHP PDO函数库详解
2010/04/27 PHP
php预定义变量使用帮助(带实例)
2013/10/30 PHP
destoon会员注册提示“数据校验失败(2)”解决方法
2014/06/21 PHP
php实现文件与16进制相互转换的方法示例
2017/02/16 PHP
PHP实现文件下载【实例分享】
2017/04/28 PHP
jquery插件开发之实现jquery手风琴功能分享
2014/03/10 Javascript
js数组的基本操作(很全自己整理的)
2014/10/16 Javascript
javascript计时器编写过程与实现方法
2016/02/29 Javascript
基于Jquery插件Uploadify实现实时显示进度条上传图片
2020/03/26 Javascript
jquery滚动条插件slimScroll使用方法
2017/02/09 Javascript
Vue单页式应用(Hash模式下)实现微信分享的实例
2017/07/21 Javascript
vue的事件绑定与方法详解
2017/08/16 Javascript
vue中监听路由参数的变化及方法
2019/12/06 Javascript
《javascript设计模式》学习笔记一:Javascript面向对象程序设计对象成员的定义分析
2020/04/07 Javascript
elementui更改el-dialog关闭按钮的图标d的示例代码
2020/08/04 Javascript
Python中声明只包含一个元素的元组数据方法
2014/08/25 Python
Python中类的定义、继承及使用对象实例详解
2015/04/30 Python
Python的Django框架中模板碎片缓存简介
2015/07/24 Python
Python实现命令行通讯录实例教程
2016/08/18 Python
使用pyecharts无法import Bar的解决方案
2020/04/23 Python
Python利用递归和walk()遍历目录文件的方法示例
2017/07/14 Python
Django框架教程之正则表达式URL误区详解
2018/01/28 Python
Opencv+Python实现图像运动模糊和高斯模糊的示例
2019/04/11 Python
python获取全国城市pm2.5、臭氧等空气质量过程解析
2019/10/12 Python
Anaconda+vscode+pytorch环境搭建过程详解
2020/05/25 Python
举例详解HTML5中使用JSON格式提交表单
2015/06/16 HTML / CSS
英国巧克力贸易公司:Chocolate Trading Company
2017/03/21 全球购物
TCP协议通讯的过程和步骤是什么
2015/10/18 面试题
简短大学毕业感言
2014/01/18 职场文书
2014年教研室工作总结
2014/12/06 职场文书
工作态度不好检讨书
2015/05/06 职场文书
外科护士长工作总结
2015/08/12 职场文书
年会邀请函的格式及范文五篇
2019/11/02 职场文书
PyTorch 如何检查模型梯度是否可导
2021/06/05 Python
简单聊一聊SQL注入及防止SQL注入
2022/03/23 MySQL