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 相关文章推荐
JS调试必备的5个debug技巧
Mar 07 Javascript
jQuery中prev()方法用法实例
Jan 08 Javascript
js获得当前系统日期时间的方法
May 06 Javascript
js实现网页抽奖实例
Aug 05 Javascript
JavaScript基本数据类型及值类型和引用类型
Aug 25 Javascript
javascript函数自动执行常用方法汇总
Mar 28 Javascript
jquery请求servlet实现ajax异步请求的示例
Jun 03 jQuery
JS实现简单的点赞与踩功能示例
Dec 05 Javascript
vue+render+jsx实现可编辑动态多级表头table的实例代码
Apr 01 Javascript
Vue实现计算器计算效果
Aug 17 Javascript
Vue中登录验证成功后保存token,并每次请求携带并验证token操作
Sep 08 Javascript
Vue项目如何引入bootstrap、elementUI、echarts
Nov 26 Vue.js
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脚本中include文件出错解决方法
2008/11/20 PHP
基于php无限分类的深入理解
2013/06/02 PHP
PHP mysql与mysqli事务使用说明 分享
2013/08/17 PHP
PHP编程基本语法快速入门手册
2016/01/07 PHP
php之header的不同用法总结(实例讲解)
2017/11/28 PHP
点击进行复制的JS代码实例
2013/08/23 Javascript
javascript实现简单的html5视频播放器
2015/05/06 Javascript
zepto中使用swipe.js制作轮播图附swipeUp,swipeDown不起效果问题
2015/08/27 Javascript
浅谈jQuery 选择器和dom操作
2016/06/07 Javascript
JS数组去掉重复数据只保留一条的实现代码
2016/08/11 Javascript
js轮播图透明度切换(带上下页和底部圆点切换)
2017/04/27 Javascript
vue 使用Jade模板写html,stylus写css的方法
2018/02/23 Javascript
Vue2.0实现调用摄像头进行拍照功能 exif.js实现图片上传功能
2018/04/28 Javascript
在vue中使用SockJS实现webSocket通信的过程
2018/08/29 Javascript
说说Vuex的getters属性的具体用法
2019/04/15 Javascript
使用JS location实现搜索框历史记录功能
2019/12/23 Javascript
Vue.js 中制作自定义选择组件的代码附演示demo
2020/02/28 Javascript
python实现定制交互式命令行的方法
2014/07/03 Python
基于Python函数的作用域规则和闭包(详解)
2017/11/29 Python
Python绘制3d螺旋曲线图实例代码
2017/12/20 Python
Python使用Matplotlib模块时坐标轴标题中文及各种特殊符号显示方法
2018/05/04 Python
详解Python locals()的陷阱
2019/03/26 Python
python3反转字符串的3种方法(小结)
2019/11/07 Python
Windows下python3安装tkinter的问题及解决方法
2020/01/06 Python
Python数据可视化实现多种图例代码详解
2020/07/14 Python
python一些性能分析的技巧
2020/08/30 Python
CSS3网格的三个新特性详解
2014/04/04 HTML / CSS
采用怎样的方法保证数据的完整性
2013/12/02 面试题
授权委托书(完整版)
2014/09/10 职场文书
践行三严三实心得体会
2014/10/13 职场文书
2014年小学教师工作总结
2014/11/10 职场文书
黑白记忆观后感
2015/06/18 职场文书
《窃读记》教学反思
2016/02/18 职场文书
JavaScript 防篡改对象的用法示例
2021/04/24 Javascript
正确使用MySQL INSERT INTO语句
2021/05/26 MySQL
微信小程序纯CSS实现无限弹幕滚动效果
2022/09/23 HTML / CSS