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 对象定义方法 简单易学
Mar 22 Javascript
网页和浏览器兼容性问题汇总(draft1)
Jun 01 Javascript
jQuery的显示和隐藏方法与css隐藏的样式对比
Oct 18 Javascript
JS实现文字掉落效果的方法
May 06 Javascript
轻松学习jQuery插件EasyUI EasyUI创建树形菜单
Nov 30 Javascript
js中实现字符串和数组的相互转化详解
Jan 24 Javascript
Google 爬虫如何抓取 JavaScript 的内容
Apr 07 Javascript
Node.js console控制台简单用法分析
Jan 04 Javascript
JavaScript实现连连看连线算法
Jan 05 Javascript
Nuxt v-bind绑定img src不显示的解决
Dec 05 Javascript
Vue 解决在element中使用$notify在提示信息中换行问题
Nov 11 Javascript
swiperjs实现导航与tab页的联动
Dec 13 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/04/02 无线电
9个比较实用的php代码片段
2016/03/15 PHP
php四种定界符详解
2017/02/16 PHP
php微信公众号开发之图片回复
2018/10/20 PHP
laravel 中某一字段自增、自减的例子
2019/10/11 PHP
javascript 避免闭包引发的问题
2009/03/17 Javascript
js 动态添加标签(新增一行,其实很简单,就是几个函数的应用)
2009/03/26 Javascript
跨浏览器开发经验总结(三)   警惕“IE依赖综合症”
2010/05/13 Javascript
JS预览图像将本地图片显示到浏览器上
2013/08/25 Javascript
详解jquery uploadify 上传文件
2013/11/09 Javascript
jquery实现类似EasyUI的页面布局可改变左右的宽度
2020/09/12 Javascript
Nodejs实现的一个静态服务器实例
2014/12/06 NodeJs
延时加载JavaScript代码提高速度
2015/12/27 Javascript
谷歌showModalDialog()方法不兼容出现对话窗口的解决办法
2016/02/15 Javascript
bootstrap datetimepicker实现秒钟选择下拉框
2017/01/05 Javascript
JavaScript 上传文件(psd,压缩包等),图片,视频的实现方法
2017/06/19 Javascript
不得不看之JavaScript构造函数及new运算符
2017/08/21 Javascript
使用命令行工具npm新创建一个vue项目的方法
2017/12/27 Javascript
解决vue build打包之后首页白屏的问题
2018/03/06 Javascript
nodejs实现一个word文档解析器思路详解
2018/08/14 NodeJs
Vue基于vuex、axios拦截器实现loading效果及axios的安装配置
2019/04/26 Javascript
Vue.js组件实现选项卡以及切换特效
2019/07/24 Javascript
详细教你微信公众号正文页SVG交互开发技巧
2019/07/25 Javascript
一文看懂如何简单实现节流函数和防抖函数
2019/09/05 Javascript
OpenLayers3实现测量功能
2020/09/25 Javascript
Python中的引用和拷贝浅析
2014/11/22 Python
利用Django框架中select_related和prefetch_related函数对数据库查询优化
2015/04/01 Python
Python编写一个闹钟功能
2017/07/11 Python
python实现两个dict合并与计算操作示例
2019/07/01 Python
利用Python优雅的登录校园网
2020/10/21 Python
HTML5 localStorage使用总结
2017/02/22 HTML / CSS
正宗的澳大利亚Ugg靴子零售商:UGG Express
2020/04/19 全球购物
公司捐书倡议书
2015/04/27 职场文书
黑白记忆观后感
2015/06/18 职场文书
高一化学教学反思
2016/02/22 职场文书
Go语言基础map用法及示例详解
2021/11/17 Golang