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表单验证代码
Aug 02 Javascript
JavaScript对象反射用法实例
Apr 17 Javascript
浅谈javascript中基本包装类型
Jun 03 Javascript
jquery easyui validatebox remote的使用详解
Nov 09 Javascript
js设置文字颜色的方法示例
Dec 30 Javascript
深入理解AngularJS中的ng-bind-html指令
Mar 27 Javascript
jquery实现左右轮播图效果
Sep 28 jQuery
mpvue构建小程序的方法(步骤+地址)
May 22 Javascript
JS滚轮控制图片缩放大小和拖动的实例代码
Nov 20 Javascript
JavaScript时间日期操作实例小结【5个示例】
Dec 22 Javascript
JS温故而知新之变量提升和时间死区
Jan 27 Javascript
js实现文字头像的生成代码
Mar 07 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
一个基于PDO的数据库操作类(新) 一个PDO事务实例
2011/07/03 PHP
PHP使用PHPexcel导入导出数据的方法
2015/11/14 PHP
Windows下php+mysql5.7配置教程
2017/05/16 PHP
yii插入数据库防并发的简单代码
2017/05/27 PHP
php实现微信支付之退款功能
2018/05/30 PHP
IE/FireFox具备兼容性的拖动代码
2007/08/13 Javascript
javascript与asp.net(c#)互相调用方法
2009/12/13 Javascript
使用JavaScript检测Firefox浏览器是否启用了Firebug的代码
2010/12/28 Javascript
js切换div css注意的细节
2012/12/10 Javascript
JQGrid的用法解析(列编辑,添加行,删除行)
2013/11/08 Javascript
使用focus方法让光标默认停留在INPUT框
2014/07/29 Javascript
JavaScript中常见获取元素的方法汇总
2015/03/04 Javascript
在AngularJS中使用AJAX的方法
2015/06/17 Javascript
基于javascript html5实现3D翻书特效
2016/03/14 Javascript
js获取新浪天气接口的实现代码
2016/06/06 Javascript
再谈Javascript中的基本类型和引用类型(推荐)
2016/07/01 Javascript
jQuery组件easyui基本布局实现代码
2016/08/25 Javascript
JS实现换肤功能的方法实例详解
2019/01/30 Javascript
Vue的路由及路由钩子函数的实现
2019/07/02 Javascript
JS document文档的简单操作完整示例
2020/01/13 Javascript
vue中的双向数据绑定原理与常见操作技巧详解
2020/03/16 Javascript
javascript实现简单搜索功能
2020/03/26 Javascript
python数据结构之二叉树的遍历实例
2014/04/29 Python
Python操作使用MySQL数据库的实例代码
2017/05/25 Python
python判断字符串是否是json格式方法分享
2017/11/07 Python
Python Tkinter 简单登录界面的实现
2019/06/14 Python
Python filter()及reduce()函数使用方法解析
2020/09/05 Python
通过实例解析Python文件操作实现步骤
2020/09/21 Python
python 多线程共享全局变量的优劣
2020/09/24 Python
CSS3动画特效在活动页中的应用
2020/01/21 HTML / CSS
什么是反射?如何实现反射?
2016/07/25 面试题
房屋公证委托书
2014/04/03 职场文书
元旦寄语大全
2014/04/10 职场文书
2014基层党员批评与自我批评范文
2014/09/24 职场文书
个人汇报材料范文
2014/12/30 职场文书
村党总支部公开承诺书2016
2016/03/25 职场文书