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下拉菜单渲染数据
首先获取后台数据 <script>var apps = new Vue({el: '#table',data: {selectValue: '',editlist: [],},mounte ...
- vue动态生成下拉框_解决vue动态下拉菜单 有数据未反应的问题
问题出现在当时后台数据会返回到data中但是没有出现下拉菜单,查询资料 发现 Vue的this理解有误 jsp 下拉菜单 {{item.plantModelName}} JS new Vue({ el ...
- Bootstrap学习-详解Bootstrap下拉菜单组件
转载:https://www.cnblogs.com/jnslove/p/5421187.html bootstrap框架中的下拉菜单组件是一个独立的组件,根据不同的版本,他对应的文件: less 对 ...
- 自适应分辨率可扩展二层JS下拉菜单
1. S下拉菜单原理 下拉菜单实际上就是在开始的时候显示一级或者说是主菜单(图一).当触发条件(例如:鼠标移动到上面时)显示次级菜单(图二). 图一 图二 那么如何实现这样的效果呢.其实很简单.所有的 ...
- Vue封装下拉框组件时,为document绑定原生事件addEventlistener(click“),切换页面之后事件还未被摧毁...
1 <script> 2 export default { 3 props: ["lists"], 4 data() { 5 return { 6 isactive: ...
- vue封装上拉菜单组件_Vue的灵活的lil上下文菜单组件
vue封装上拉菜单组件 vue-lil上下文菜单 (vue-lil-context-menu) A flexible context menu component for Vue. Pass it a ...
- 抗疫逆行者网页作业 感动人物网页代码成品 网页作业带JS下拉菜单 最美逆行者网页模板 致敬疫情感动人物网页设计制作
大学生抗疫逆行者网页作业成品 作品介绍 作品技术 效果预览 网页下载 作品介绍 逆行者感动人物网页作品包含1个首页5个子页面,共计6个页面,作品采用大学生基础水平制作. 作品技术 主要知识点应用:JS ...
- 使用vue来开发一个下拉菜单组件(1)
一.新建demo工程 vue init webpack-simple demo 添加src/mixins/emitter.js文件(见前几篇博文) 安装font-awesome字体库: cnpm in ...
- 使用vue来开发一个下拉菜单组件(2)
二.组件设计 接下来是开发选择框组件,首先需要自定义一个点击外部使下拉菜单关闭的指令: export default {bind(el, binding, vnode) {function docum ...
- 小程序下拉菜单组件(含多层筛选)
图例中筛选是另外一个组件 一般在筛选的场景中需要使用下拉菜单,动态设置筛选条件,比如淘宝,京东的产品筛选列表,携程的旅游目的地的筛选列表. 支持 配置化设置弹层内容 支持动态刷新弹层内容 支持动态修改 ...
最新文章
- android onLayout死循环
- ie6多文件上传_一个好的“文件上传”功能必须要注意的这些点你都知道吗?
- 苹果系统里面 dictionary 如何加入中文词典
- 调试记录- error: #error “must enable c++17“
- LeetCode-Add Two Numbers
- python内置类型_Python内置对象类型
- 说说说vue.js中的组
- SVN工作笔记006---解决TortoiseSVN中out of date问题的一个方法
- 【ActiveReports 大数据分析报告】用数据分析的手段告诉你,复联4有多火爆?
- gitlab syntax highlighting theme
- 三个一工程_C语言阶段第二阶段部分程序整理
- Layui 个人博客网站源码 (带运行文档)
- 怎么完全卸载赛门铁克_赛门铁克专用卸载工具
- websocket传输数据大小限制_WebSocket传输超过126字节数据的方法
- GUI编程入门到游戏实战
- 披上了SSL战甲的HTTP战士——HTTPS
- java面试全套清单_Java 全套面试题 PDF 下载
- swoft2 小白教程系列-进程篇
- 有关计算机知识的活动总结,计算机兴趣小组活动总结范文
- 交换机中用户权限级别