iis服务器助手广告
返回顶部
首页 > 资讯 > 精选 >vue如何实现点击空白处收起下拉框
  • 151
分享到

vue如何实现点击空白处收起下拉框

2023-07-04 15:07:09 151人浏览 泡泡鱼
摘要

这篇文章主要介绍“Vue如何实现点击空白处收起下拉框”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue如何实现点击空白处收起下拉框”文章能帮助大家解决问题。vue自定义指令解释(参考官方文档)除了

这篇文章主要介绍“Vue如何实现点击空白处收起下拉框”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue如何实现点击空白处收起下拉框”文章能帮助大家解决问题。

vue自定义指令

解释(参考官方文档)

除了核心功能默认内置的指令 (v-model 和 v-show),Vue 也允许注册自定义指令。注意,在 Vue2.0 中,代码复用和抽象的主要形式是组件。然而,有的情况下,你仍然需要对普通 DOM 元素进行底层操作,这时候就会用到自定义指令。

举例:

我们要让这样一个输入框在页面加载的时候获得焦点

我们可以注册自定义指令

全局注册:

// 注册一个全局自定义指令 `v-focus`Vue.directive('focus', { // 当被绑定的元素插入到 DOM 中时…… inserted: function (el) { // 聚焦元素 el.focus() }})

局部注册

//组件内directives: { focus: { // 指令的定义 inserted: function (el) { el.focus() } }}

然后便可以在模板中相关元素上使用自定义的v-focus属性:(这里的v-focus是从自定义的focus得来的)

<input v-focus>

钩子函数(参考官方文档)

上面例子中我们用的钩子是inserted,这个是在被绑定元素插入父节点时调用 (仅保证父节点存在,但不一定已被插入文档中)。
vue官方文档上有一些钩子可供我们参考使用:

  • bind:只调用一次,指令第一次绑定到元素时调用。在这里可以进行一次性的初始化设置。

  • inserted:被绑定元素插入父节点时调用 (仅保证父节点存在,但不一定已被插入文档中)。

  • update:所在组件的 Vnode 更新时调用,但是可能发生在其子 VNode 更新之前。指令的值可能发生了改变,也可能没有。但是你可以通过比较更新前后的值来忽略不必要的模板更新 (详细的钩子函数参数见下)。

  • componentUpdated:指令所在组件的 VNode 及其子 VNode 全部更新后调用。

  • unbind:只调用一次,指令与元素解绑时调用。

通过自定义指令实现点击空白处隐藏下拉框

关于自定义指令,我们就不再多说了,下面我们来讲下如何通过指令来实现我们这个需求吧。

首先注册全局指令

// 一般在vue项目中的main.js中// 添加点击空白处的指令Vue.directive('click-outside', { bind: function (el, binding, vnode) { el.clickOutsideEvent = function (event) { // here I check that click was outside the el and his childrens if (!(el == event.target || el.contains(event.target))) { // and if it did, call method provided in attribute value vnode.context[binding.expression](event) } } document.body.addEventListener('click', el.clickOutsideEvent) }, unbind: function (el) { document.body.removeEventListener('click', el.clickOutsideEvent) }})

在需要监听的组件元素上添加自定义指令

// 这里的clickOutSide是在监听到点击的不是<input id="dropdown1" v-show="flag" v-click-outside="clickOutSide" />

这个id为dropdown1的元素当监听到点击的不是自身的时候,就会触发clickOutSide方法。

在组件里定义响应方法

// 点击空白处使topBar隐藏 clickOutSide() { this.flag = false; },

Vue的优点

Vue具体轻量级框架、简单易学、双向数据绑定、组件化、数据和结构的分离、虚拟DOM、运行速度快等优势,Vue中页面使用的是局部刷新,不用每次跳转页面都要请求所有数据和dom,可以大大提升访问速度和用户体验。

关于“vue如何实现点击空白处收起下拉框”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网精选频道,小编每天都会为大家更新不同的知识点。

--结束END--

本文标题: vue如何实现点击空白处收起下拉框

本文链接: https://www.lsjlt.com/news/346193.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • vue如何实现点击空白处收起下拉框
    这篇文章主要介绍“vue如何实现点击空白处收起下拉框”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue如何实现点击空白处收起下拉框”文章能帮助大家解决问题。vue自定义指令解释(参考官方文档)除了...
    99+
    2023-07-04
  • js如何实现下拉菜单点击旁边收起效果
    这篇文章主要为大家展示了“js如何实现下拉菜单点击旁边收起效果”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“js如何实现下拉菜单点击旁边收起效果”这篇文章吧。演...
    99+
    2024-04-02
  • vue如何实现可搜索下拉框功能
    这篇文章主要为大家展示了“vue如何实现可搜索下拉框功能”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue如何实现可搜索下拉框功能”这篇文章吧。效果图:子组件...
    99+
    2024-04-02
  • html下拉框如何实现
    小编给大家分享一下html下拉框如何实现,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!html有什么特点1、简易性:超级文本标记语言版本升级采用超集方式,从而更加...
    99+
    2023-06-14
  • jQuery如何实现点击下拉框中的值累加到文本框中的方法
    这篇文章主要为大家展示了“jQuery如何实现点击下拉框中的值累加到文本框中的方法”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“jQuery如何实现点击下拉框中...
    99+
    2024-04-02
  • vue如何实现下拉框二级联动效果
    这篇文章主要介绍vue如何实现下拉框二级联动效果,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1、实现效果2、后端返回的数据格式"list": [   &n...
    99+
    2023-06-25
  • Vue如何实现省市区级联下拉选择框
    这篇文章将为大家详细讲解有关Vue如何实现省市区级联下拉选择框,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体内容如下以(Vue下拉选择框Select组件二)为基础实现省市区级联下拉选择框组件...
    99+
    2023-06-29
  • vxe-list vue 如何实现下拉框的虚拟列表
    目录vxe-list vue下拉框的虚拟列表虚拟列表的实现原理接下来测试一下vue虚拟列表实现原理应用场景实现思路基础实现vxe-list vue下拉框的虚拟列表 vxe-table...
    99+
    2024-04-02
  • jQuery如何实现级联下拉框
    这篇文章将为大家详细讲解有关jQuery如何实现级联下拉框,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。效果功能如下: 页面默认只提供汽车厂商,当选择了具体的某品牌汽车,...
    99+
    2024-04-02
  • Python中如何实现selenium_webdriver下拉框
    这篇文章将为大家详细讲解有关Python中如何实现selenium_webdriver下拉框,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。环境搭建首先以python3.x为基础来搭建基础环境安装pytho...
    99+
    2023-06-26
  • javascript如何实现隐藏下拉框
    这篇文章主要讲解了“javascript如何实现隐藏下拉框”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“javascript如何实现隐藏下拉框”吧! ...
    99+
    2024-04-02
  • Vue如何实现select下拉列表
    这篇“Vue如何实现select下拉列表”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Vue如何实现select下拉列表”文...
    99+
    2023-07-04
  • 【Flutter】如何 Dialog 弹窗设置点击空白处不关闭
    文章目录 一、 引言二、 Flutter 中的 Dialog 弹窗1. 默认的 Dialog 行为介绍2. 解释为什么在某些情况下我们需要点击空白处不关闭 Dialog 三、 如何在 F...
    99+
    2023-09-12
    flutter android ios 原力计划
  • Vue如何用枚举类型实现一个HTML下拉框
    本篇内容主要讲解“Vue如何用枚举类型实现一个HTML下拉框”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Vue如何用枚举类型实现一个HTML下拉框”吧!第一步: 编写下拉框需要的枚举类型&nb...
    99+
    2023-07-04
  • Bootstrap如何实现组合上、下拉框
    这篇文章将为大家详细讲解有关Bootstrap如何实现组合上、下拉框,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体内容如下<html> <head&...
    99+
    2024-04-02
  • vue如何实现原生下拉刷新
    这篇文章给大家分享的是有关vue如何实现原生下拉刷新的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 文字样式html代码<template>  <div class=&quo...
    99+
    2023-06-29
  • Easyui和zTree如何实现树形下拉框
    这篇文章给大家分享的是有关Easyui和zTree如何实现树形下拉框的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。方式一,使用zTree前端代码:<div cla...
    99+
    2024-04-02
  • angular4如何实现带搜索的下拉框
    这篇文章主要讲解了“angular4如何实现带搜索的下拉框”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“angular4如何实现带搜索的下拉框”吧!思路:站在巨人的肩膀上,确定了bootst...
    99+
    2023-06-29
  • EasyUI如何实现下拉框多选功能
    这篇文章给大家分享的是有关EasyUI如何实现下拉框多选功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。效果图:这个没什么说的,直接引入css和js文件和图片,调用js即可。下...
    99+
    2024-04-02
  • Vue如何实现点击按钮进行上下页切换
    这篇文章给大家介绍Vue如何实现点击按钮进行上下页切换,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。案例效果:完整代码如下: <template>  <div ...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作