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 相关文章推荐
js中访问html中iframe的文档对象的代码[IE6,IE7,IE8,FF]
Jan 08 Javascript
JS简单实现登陆验证附效果图
Nov 19 Javascript
关闭浏览器窗口弹出提示框并且可以控制其失效
Apr 15 Javascript
javascript定义变量时有var和没有var的区别探讨
Jul 21 Javascript
jquery判断浏览器后退时候弹出消息的方法
Aug 11 Javascript
javascript相关事件的几个概念
May 21 Javascript
javascript中加var和不加var的区别 你真的懂吗
Jan 06 Javascript
Javascript 跨域知识详细介绍
Oct 30 Javascript
JavaScript简单实现合并两个Json对象的方法示例
Oct 16 Javascript
layui的数据表格+springmvc实现搜索功能的例子
Sep 28 Javascript
JS面向对象之多选框实现
Jan 17 Javascript
js实现模拟购物商城案例
May 18 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
骨王战斗力在公会成员中排不进前五,却当选了会长,原因竟是这样
2020/03/02 日漫
火车采集器 免费版使出收费版本功能实现原理
2009/09/17 PHP
php实现的百度搜索某地天气的小偷代码
2014/04/23 PHP
PHP去除空数组且数组键名重置的讲解
2019/02/28 PHP
麻雀虽小五脏俱全 Dojo自定义控件应用
2010/09/04 Javascript
Javascript的严格模式strict mode详细介绍
2014/06/06 Javascript
Jquery解析Json格式数据过程代码
2014/10/17 Javascript
基于JavaScript如何实现私有成员的语法特征及私有成员的实现方式
2015/10/28 Javascript
js如何准确获取当前页面url网址信息
2020/09/13 Javascript
使用jQuery实现Web页面换肤功能的要点解析
2016/05/12 Javascript
angular.js+node.js实现下载图片处理详解
2017/03/31 Javascript
vue v-model表单控件绑定详解
2017/05/17 Javascript
基于Bootstrap框架菜鸟入门教程(推荐)
2017/09/17 Javascript
JavaScript实现拖拽盒子效果
2020/02/06 Javascript
javascript+css实现俄罗斯方块小游戏
2020/06/28 Javascript
Python可变参数用法实例分析
2017/04/02 Python
Python简单处理坐标排序问题示例
2019/07/11 Python
基于Python实现扑克牌面试题
2019/12/11 Python
安装多个版本的TensorFlow的方法步骤
2020/04/21 Python
python读取hdfs上的parquet文件方式
2020/06/06 Python
使用tensorflow根据输入更改tensor shape
2020/06/23 Python
Windows 平台做 Python 开发的最佳组合(推荐)
2020/07/27 Python
python 基于PYMYSQL使用MYSQL数据库
2020/12/24 Python
Python中的流程控制详解
2021/02/18 Python
使用CSS3美化HTML表单的技巧演示
2016/05/17 HTML / CSS
世界上最大的乐器零售商:Guitar Center
2017/11/07 全球购物
巴西手表购物网站:eclock
2019/03/19 全球购物
精彩自我鉴定
2014/01/16 职场文书
2014年纪检监察工作总结
2014/11/11 职场文书
街道党风廉政建设调研报告
2015/01/01 职场文书
给老婆道歉的话
2015/01/20 职场文书
2015年技术工作总结范文
2015/04/20 职场文书
学校捐书活动总结
2015/05/08 职场文书
校运会通讯稿
2015/07/18 职场文书
Python快速优雅的批量修改Word文档样式
2021/05/20 Python
html用代码制作虚线框怎么做? dw制作虚线圆圈的技巧
2022/12/24 HTML / CSS