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 相关文章推荐
Javascript中的数学函数
Apr 04 Javascript
js 数组操作代码集锦
Apr 28 Javascript
Jquery 基础学习笔记之文档处理
May 29 Javascript
Mootools 1.2教程 滚动条(Slider)
Sep 15 Javascript
js下通过getList函数实现分页效果的代码
Sep 17 Javascript
Jquery中getJSON在asp.net中的使用说明
Mar 10 Javascript
javascript学习笔记(十三) js闭包介绍(转)
Jun 20 Javascript
ztree获取当前选中节点子节点id集合的方法
Feb 12 Javascript
Ionic快速安装教程
Jun 03 Javascript
js实现模糊匹配功能
Feb 15 Javascript
详解Node.js一行命令上传本地文件到服务器
Apr 22 Javascript
vue里的data要用return返回的原因浅析
May 28 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
台湾中原大学php教程孙仲岳主讲
2008/01/07 PHP
PHP测试程序运行时间的类
2012/02/05 PHP
php命名空间设计思想、用法与缺点分析
2019/07/17 PHP
laravel中的fillable和guarded属性详解
2019/10/23 PHP
document.documentElement的一些使用技巧
2013/04/18 Javascript
extjs两个tbar问题探讨
2013/08/08 Javascript
js 走马灯简单实例
2013/11/21 Javascript
js中回调函数的学习笔记
2014/07/31 Javascript
Javascript验证用户输入URL地址是否为空及格式是否正确
2014/10/09 Javascript
Bootstrap每天必学之表单
2015/11/23 Javascript
JQuery的常用选择器、过滤器、方法全面介绍
2016/05/25 Javascript
jq stop()和:is(:animated)的用法及区别(详解)
2017/02/12 Javascript
jquery.uploadView 实现图片预览上传功能
2017/08/10 jQuery
JavaScript实现的反序列化json字符串操作示例
2018/07/18 Javascript
Vue源码中要const _toStr = Object.prototype.toString的原因分析
2018/12/09 Javascript
JavaScript文本特效实例小结【3个示例】
2018/12/22 Javascript
vue+vant使用图片预览功能ImagePreview的问题解决
2020/04/10 Javascript
[01:03:59]2018DOTA2亚洲邀请赛3月30日 小组赛B组VGJ.T VS Secret
2018/03/31 DOTA
使用Python判断IP地址合法性的方法实例
2014/03/13 Python
Python利用前序和中序遍历结果重建二叉树的方法
2016/04/27 Python
Python与Java间Socket通信实例代码
2017/03/06 Python
Python装饰器原理与基本用法分析
2020/01/07 Python
Python 2种方法求某个范围内的所有素数(质数)
2020/01/31 Python
Python使用Excel将数据写入多个sheet
2020/05/16 Python
康帕斯酒店预订:Compass Hospitality(支持中文)
2018/08/23 全球购物
FC-Moto瑞典:欧洲最大的摩托车服装和头盔商店之一
2018/11/27 全球购物
资深财务管理人员自我评价
2013/09/22 职场文书
学生会主席就职演讲稿
2014/01/14 职场文书
数学高效课堂实施方案
2014/03/29 职场文书
政府门卫岗位职责
2014/04/29 职场文书
学校爱国卫生月活动总结
2014/06/25 职场文书
家长通知书家长意见
2014/12/30 职场文书
教学反思怎么写
2016/02/24 职场文书
Nginx报错104:Connection reset by peer问题的解决及分析
2022/07/23 Servers
MySQL新手入门进阶语句汇总
2022/09/23 MySQL
前端框架ECharts dataset对数据可视化的高级管理
2022/12/24 Javascript