vue3 composition api的click-outside选择

news/2025/2/14 6:32:37/

想在<script setup>里直接使用一个click-outside组件,试了下面几种都不行: 

x​​​​​​​v-click-outside:不可用,测试版本3.2.0 ff

click-outside-vue3: 不可用,测试版本4.0.1

vue-click-outside: 不可用,测试版本1.1.0

可用版本:

onClickOutside | VueUse

唯一直接可以使用的版本。

使用方法:

安装vueuse component

 npm i @vueuse/core @vueuse/components

在需要使用的vue文件中

import { vOnClickOutside } from '@vueuse/components'

注意,要以v开头,官方文档解释了以v开头的目的:

The reason for requiring the v prefix is because it is quite likely for a globally registered directive (e.g. v-focus) to clash with a locally declared variable of the same name. The v prefix makes the intention of using a variable as a directive more explicit and reduces unintended "shadowing".

这样,html部分可以直接写:

<div id="ec-selector" v-if="showEcSelector" v-on-click-outside="hideEcSelector">
</div>

官方的文档有其他两种写法:

函数写法:

<script setup>
import { ref } from 'vue'
import { onClickOutside } from '@vueuse/core'const el = ref()function close () {/* ... */
}onClickOutside(el, close)
</script><template><div ref="el">Click Outside of Me</div>
</template>

和自定义组件写法:

<script setup>
import { OnClickOutside } from '@vueuse/components'function close () {/* ... */
}
</script><template><OnClickOutside @trigger="close"><div>Click Outside of Me</div></OnClickOutside>
</template>


http://www.ppmy.cn/news/6001.html

相关文章

Redis常见面试题(六)

目录 1、Redis支持的Java客户端有哪些? 2、Redisson是什么框架? 3、Redis和Redisson有什么关系? 4、Jedis和Redisson对比有什么优缺点? 5、Redis为什么不提供Windows版本? 6、Redis怎么在Windows下使用? 7、Redis如何设置密码访问? 8、Redis如何分析慢查询操作?…

文件中的成绩统计分析----Python

文件中的成绩统计分析 描述 现在一个包含若干学生学习成绩的文件&#xff0c;每位同学有4 门课程的成绩&#xff0c;按要求完成以下任务。 文件中每行数据格式如下&#xff1a; 0121801101266,刘雯,92,73,72,64 0121801101077,张佳喜,81,97,61,98 … 0121801101531,佘玉…

36-Vue之ECharts高级-动画的使用

ECharts高级-动画的使用前言加载动画增量动画动画的配置前言 本篇来学习下ECharts中动画的使用 加载动画 showLoading() &#xff1a;显示加载动画&#xff0c;一般在获取图表数据之前 显示加载动画hideLoading()&#xff1a;隐藏加载动画&#xff0c;在获取图表数据之后 隐…

Allegro如何更改铜皮的网络操作指导

Allegro如何更改铜皮的网络操作指导 在做PCB设计的时候需要更改铜皮的网络,Allegro上可以快速的更改铜皮的网络。如下图,需要给铜皮赋上网络 具体操作如下 选择selcet shape命令选中铜皮

音频怎么转换成文字?推荐这几个转文字的方法给你

在平时的工作中大家通常会先利用录音工具将会议内容录制下来&#xff0c;结束以后再根据录音来整理会议纪要&#xff0c;但一边听音频一边整理的操作既麻烦又费时间&#xff0c;还有可能会因为讲述的人语速快&#xff0c;而漏掉一些内容&#xff0c;从而导致效率不高&#xff0…

在Android端集成OpenCV的三种方式

1.Opencv Android SDK 基于Opencv C本地代码&#xff0c;通过Java语言接口使用JNI技术调用C本地方法的SDK开发包。 &#xff08;1&#xff09;etc:各类模型文件存储地址 &#xff08;2&#xff09;java:Java版本的Android SDK相关文件 &#xff08;3&#xff09;native:JNI层…

求N!后面有多少个连续的零

Description 给出一个数字N,求N的阶乘&#xff0c;其右边有多少个连续的零。 例如5&#xff01;120&#xff0c;其右边有1个零。 Format Input 每行一个数字N&#xff0c;1 < N < 1000000000. Output 每行一个数字。 Samples 输入数据 1 100Copy 输出数据 1 2…

图书管理系统【Servlet+HTML综合应用】

✅作者简介&#xff1a;热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏&#xff1a;Java案例分…