vue2.0.js的多级联动选择器实现方法
作者:菬袇 发布时间:2024-04-28 09:23:37
标签:vue2.0.js,多级联动,选择器
由于工作需求,想实现一个多级联动选择器,但是网上现有的联动选择器都不是我想要的,我参照基于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>
来源:http://blog.csdn.net/qq_34928402/article/details/78752410


猜你喜欢
- 在某些情况下,如果明知道查询结果只有一个,SQL语句中使用LIMIT 1会提高查询效率。 例如下面的用户表(主键id,邮箱,密码): cre
- 前言分水岭算法是用于分割的经典算法,在提取图像中粘连或重叠的对象时特别有用,例如下图中的硬币。使用传统的图像处理方法,如阈值和轮廓检测,我们
- 一.Memory Dumps 1).Global Area ALTER SESSION SET EVENTS ‘immediate trac
- TensorFlow 2.0之后动态分配显存import tensorflow as tfconfig = tf.compat.v1.Con
- HttpRequest.FILES表单上传的文件对象存储在类字典对象request.FILES中,表单格式需为multipart/form-
- 某位 A 同学发了我一张截图,问为何结果中出现了负数?看了图,我第一感觉就是数据溢出了。数据超出能表示的最大值,就会出现奇奇怪怪的结果。然后
- 六步安装Mysql(免安装包的才可以选安装位置),供大家参考,具体内容如下第一步:下载MySQL压缩包mysql下载路径直接点击链接也可以下
- 如下所示:numpy.power(x1, x2)数组的元素分别求n次方。x2可以是数字,也可以是数组,但是x1和x2的列数要相同。 >
- mysql5.7.18zip版本在windows的安装,就是解压,初始化,然后做一些密码修改的设置即可使用,如果需要远程连接,需要更改用户表
- pydev debugger: process 10341 is connecting无法debu今天在Pycharm中debug时无法正常
- Django中请求的生命周期HTTP请求及服务端响应中传输的所有数据都是字符串步骤用户在浏览器中输入url时,浏览器会生成请求头和请求体发给
- 说完了理论,我们来做点实事。这篇文章将介绍使用 Javascript 实现的动画组件。下面记录下当时编写这个组件的考虑的些问题,对技术细节感
- Mysql InnoDB引擎页目录一、页目录和槽接上一篇,现在知道记录在页中按照主键大小顺序串成了单链表。那么我使用主键查询的时候,最顺其自
- information_schema数据库是在mysql的版本5.0之后产生的,一个虚拟数据库,物理上并不存在。information_sc
- 前言这篇文章主要是就在公司实习的时候,对SQL优化工作作出的一些整理。在公司实习的时候,导师分配了SQL慢查询优化的任务,任务是这样的:每周
- 写在前面 众所周知python拥有众多的第三方库,据不完全统计python有1w多个第三方库(为什么是不完全统计,因为我也记不清了☺),
- Python特别灵活,肯定方法不止一种,这里介绍一种我觉得比较简单的方法。如下图,使用x == np.max(x) 获得一个掩模矩阵,然后使
- 单下划线与双下划线在 python 中,会看到 _xx, xx 以及 __xx 这样的变量或者函数名,在这里做一个简要的总结。_xx:保护(
- 一、概述AutoEncoder大致是一个将数据的高维特征进行压缩降维编码,再经过相反的解码过程的一种学习方法。学习过程中通过解码得到的最终结
- 之前使用email模块+smtplib模块发送邮件,虽然可以实现功能,但过程比较繁琐,今天发现一个宝藏库(yagmail),可以说是炒鸡好用