Vue.js下拉菜单组件使用方法详解


Posted in Javascript onOctober 19, 2019

本文实例为大家分享了Vue.js下拉菜单组件的具体实现代码,供大家参考,具体内容如下

效果

Vue.js下拉菜单组件使用方法详解

#### 入口页面 index.html

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <meta http-equiv="X-UA-Compatible" content="ie=edge">
 <title>可从外部关闭的下拉菜单</title>
 <link rel="stylesheet" type="text/css" href="style.css" >
</head>
<body>
 <div id="app" v-cloak>
 <div class="main" v-clickoutside="handleClose">
  <button @click="show = !show">点击显示下拉菜单</button>
  <div class="dropdown" v-show="show">
  <p>下拉框的内容,点击外面区域可以关闭</p>
  </div>
 </div>
 </div>
 <script src="https://unpkg.com/vue/dist/vue.js"></script>
 <script src="clickoutside.js"></script>
 <script src="index.js"></script>
</body>
</html>

根实例 index.js

var app = new Vue({
 el: '#app',
 data: {
 show: false
 },
 methods: {
 handleClose () {
  this.show = false;
 }
 }
});

下拉框组件 clickoutside.js

Vue.directive('clickoutside',{
 bind: function (el, binding, vnode) {
 function documentHandler(e) {
  if(el.contains(e.target)){
  return false;
  }
  if(binding.expression){
  binding.value(e);
  }
 }
 el.__vueClickOutside__ = documentHandler;
 document.addEventListener('click',documentHandler);
 },
 unbind: function (el, binding) {
 document.removeEventListener('click', el.__vueClickOutside__);
 delete el.__vueClickOutside__;
 }
});

样式表

[v-cloak]{
 display: none;
}
.main{
 width: 125px;
}
button{
 display: block;
 width: 100%;
 color: #fff;
 background-color: #39f;
 border: 0;
 padding: 6px;
 text-align: center;
 font-size: 12px;
 border-radius: 4px;
 cursor: pointer;
 outline: none;
 position: relative;
}
button:active{
 top:1px;
 left: 1px;
}
.dropdown{
 width:100%;
 height: 150px;
 margin: 5px 0;
 font-size: 12px;
 background-color: #fff;
 border-radius: 4px;
 box-shadow: 0 1px 6px rgba(0,0,0,.2);
}
.dropdown p{
 display: inline-block;
 padding: 6px;
}

更多教程点击《Vue.js前端组件学习教程》,欢迎大家学习阅读。

关于vue.js组件的教程,请大家点击专题vue.js组件学习教程进行学习。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
用javascript控制iframe滚动的代码
Apr 10 Javascript
Javascript 变量作用域 两个可能会被忽略的小特性
Mar 23 Javascript
document.write()及其输出内容的样式、位置控制
Aug 12 Javascript
javascript的创建多行字符串的7种方法
Apr 29 Javascript
node.js中的fs.closeSync方法使用说明
Dec 17 Javascript
jQuery中prepend()方法用法实例
Dec 25 Javascript
javascript实现倒计时并弹窗提示特效
Jun 05 Javascript
使用CSS+JavaScript或纯js实现半透明遮罩效果的实例分享
May 09 Javascript
smartupload实现文件上传时获取表单数据(推荐)
Dec 12 Javascript
推荐三款日期选择插件(My97DatePicker、jquery.datepicker、Mobiscroll)
Apr 21 jQuery
详解基于Bootstrap+angular的一个豆瓣电影app
Jun 26 Javascript
解决VUEX兼容IE上的报错问题
Mar 01 Javascript
vue实现二级导航栏效果
Oct 19 #Javascript
vue.js实现二级菜单效果
Oct 19 #Javascript
vue实现多级菜单效果
Oct 19 #Javascript
vue.js实现三级菜单效果
Oct 19 #Javascript
vue.js实现只能输入数字的输入框
Oct 19 #Javascript
Vue数字输入框组件的使用方法
Oct 19 #Javascript
微信小程序实现禁止分享代码实例
Oct 19 #Javascript
You might like
PHP 和 MySQL 基础教程(一)
2006/10/09 PHP
PHP中的print_r 与 var_dump 输出数组
2016/06/13 PHP
PHP基于PDO实现的SQLite操作类【包含增删改查及事务等操作】
2017/06/21 PHP
jquery 经典动画菜单效果代码
2010/01/26 Javascript
细说浏览器特性检测(2)-通用事件检测
2010/11/05 Javascript
cnblogs中在闪存中屏蔽某人的实现代码
2010/11/14 Javascript
javaScript 利用闭包模拟对象的私有属性
2011/12/29 Javascript
jQuery在IE下使用未闭合的xml代码创建元素时的Bug介绍
2012/01/10 Javascript
深入理解JavaScript系列(37):设计模式之享元模式详解
2015/03/04 Javascript
深入理解angularjs过滤器
2016/05/25 Javascript
jQuery筛选数组之grep、each、inArray、map的用法及遍历json对象
2016/06/20 Javascript
jQuery stop()用法实例详解
2016/07/28 Javascript
详解使用VueJS开发项目中的兼容问题
2018/08/02 Javascript
vue 右键菜单插件 简单、可扩展、样式自定义的右键菜单
2018/11/29 Javascript
微信小程序实现抖音播放效果的实例代码
2020/04/11 Javascript
Python日期操作学习笔记
2008/10/07 Python
python实现字符串和日期相互转换的方法
2015/05/13 Python
浅谈Python2.6和Python3.0中八进制数字表示的区别
2017/04/28 Python
对Python中range()函数和list的比较
2018/04/19 Python
从请求到响应过程中django都做了哪些处理
2018/08/01 Python
python重试装饰器的简单实现方法
2019/01/31 Python
wxpython+pymysql实现用户登陆功能
2019/11/19 Python
pytorch .detach() .detach_() 和 .data用于切断反向传播的实现
2019/12/27 Python
python模拟点击玩游戏的实例讲解
2020/11/26 Python
SQL面试题
2013/04/30 面试题
局域网标准
2016/09/10 面试题
华为python面试题
2016/05/03 面试题
优秀驾驶员先进事迹材料
2014/05/04 职场文书
法定代表人授权委托书范文
2014/09/22 职场文书
领导班子遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
机票销售员态度不好检讨书
2014/09/27 职场文书
2014年团支部年度工作总结
2014/12/24 职场文书
2015年业务工作总结范文
2015/04/10 职场文书
新年寄语2016
2015/08/17 职场文书
SpringCloud Alibaba 基本开发框架搭建过程
2021/06/13 Java/Android
Redis超详细讲解高可用主从复制基础与哨兵模式方案
2022/04/07 Redis