描述 : 移动端常见的样式下拉框,当下拉框弹出的时候,我们点击别的位置就隐藏下拉框
操作:
- 新建directive.js文件
`
/**
* 点击空白区域,隐藏下拉选框
*/
const clickOutside = {
// 一般在vue项目中的main.js中
// 添加点击空白处的指令
bind: function (el, binding, vnode) {
el.clickOutsideEvent = function (event) {
//检查点击是在外面的el和他的子元素
if (!(el == event.target || el.contains(event.target))) {
// 如果是,则调用属性值中提供的方法
vnode.context[binding.expression](event)
}
}
document.body.addEventListener('click', el.clickOutsideEvent)
},
unbind: function (el) {
document.body.removeEventListener('click', el.clickOutsideEvent)
}
};
export default clickOutside
`
- 为了再项目中全局使用我们再main.js文件中全局引入自定义指令
import utilDirecitve from './assets/js/directive'
Vue.directive('clickOutside', utilDirecitve)
- 再页面中使用
html标签:
<div v-click-outside="hideBox">
methods方法:
hideBox () {
this.selectMatch = false;
this.isShowSelect = false;
this.selectStatus = true
},
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。