利用Vue3的新API(customRef)实现防抖效果
customRef是创建一个自定义的 ref,然后显式声明对其依赖追踪和更新触发的控制方式。因为ref是直接更新的,数据修改会马上更新,而customRef可以认为控制更新的过程,比如可以利用这个api控制 空格输入限制、数据更新速度控制、违规内容、emoji输入限制等等
下面用customRef实现一个 数据更新带防抖效果的hook
import { customRef } from "vue"export default function <T>(initValue: T, delay: number = 1000) {let timer: numberlet delayValue = customRef((track, trigger) => {return {get: () => {track() //核心,告诉Vue持续关注这个值return initValue},set: (value: T) => {clearTimeout(timer)timer = setTimeout(() => {initValue = valuetrigger() //核心,告诉Vue持续关注这个值要更新了}, delay)},}})return { delayValue }
}
使用这个hook
//.vue文件
<template><div>{{ name }}</div><input v-model="name" placeholder="请输入名称">
</template><script setup lang='ts' name='Layout'>
import useDelayRef from '@/hooks/useDelayRef';
let { delayValue: name } = useDelayRef<string>('Ashley', 3000)
</script>
ps:简单记录,如有不恰当之处,欢迎交流
相关文章:
利用Vue3的新API(customRef)实现防抖效果
customRef是创建一个自定义的 ref,然后显式声明对其依赖追踪和更新触发的控制方式。因为ref是直接更新的,数据修改会马上更新,而customRef可以认为控制更新的过程,比如可以利用这个api控制 空格输入限制、数据更新速度控制、违规内…...
【Linux】在 Ubuntu 系统下使用 Screen 运行 Python 脚本
在 Ubuntu 系统下使用 Screen 运行 Python 脚本的优点 在 Ubuntu 操作系统中,Screen 是一种非常有用的工具,特别是在需要长时间运行的任务或者需要在后台运行的任务中。结合 Python 脚本,Screen 提供了一种灵活且高效的方式来管理和执行任务…...
jxls——自定义命令设置动态行高
文章目录 前言依赖引入绘制 jxls 批注的 excel 模板测试类编写自定义命令关于自动换行 前言 之前的博客中都简单说了数据的渲染和导出excel文件。包括固定的 表头结构,以及动态 表头和表数据等方式。 本篇博客主要说明自定义命令的方式,控制输出excel文…...
前端面试练习24.3.2-3.3
HTMLCSS部分 一.说一说HTML的语义化 在我看来,它的语义化其实是为了便于机器来看的,当然,程序员在使用语义化标签时也可以使得代码更加易读,对于用户来说,这样有利于构建良好的网页结构,可以在优化用户体…...
优先级队列(Java )
目录 一、 优先级队列1、概念 二、优先级队列的模拟实现1、堆的概念2、堆的存储方式 三、堆的创建1、堆向下调整2、堆的创建3、建堆的时间复杂度 四、堆的插入与删除1、堆的插入2、堆的删除 五、用堆模拟实现优先级队列 一、 优先级队列 1、概念 优先级队列(Priori…...
大宋咨询如何进行汽车门店6S标准现场检查
随着汽车市场的快速发展,汽车门店的现场管理日益受到关注。6S标准现场检查作为一项重要的评估工具,正在被越来越多的汽车厂商和经销商采用。 6S标准现场检查是指对汽车门店的整理、整顿、清洁、清扫、素养和安全六个方面进行规范和优化,旨在…...
仿牛客网项目---点赞模块的实现
本篇文章介绍一下项目中的点赞模块。 点赞模块是一个通过使用Redis实现的功能模块,它提供了点赞操作的处理逻辑和数据存取功能。通过服务类和控制器类的配合,点赞模块实现了用户对实体的点赞、点赞数量的查询、点赞状态的查询等功能。该模块使用了Redis…...
【AI视野·今日CV 计算机视觉论文速览 第300期】Fri, 1 Mar 2024
AI视野今日CS.CV 计算机视觉论文速览 Fri, 1 Mar 2024 Totally 114 papers 👉上期速览✈更多精彩请移步主页 Daily Computer Vision Papers DistriFusion: Distributed Parallel Inference for High-Resolution Diffusion Models Authors Muyang Li, Tianle Cai, J…...
【单片机学习的准备】
文章目录 前言一、找一个视频是二、画图软件三、装keil5 仿真protues总结 前言 提示:这里可以添加本文要记录的大概内容: 项目需要: 提示:以下是本篇文章正文内容,下面案例可供参考 一、找一个视频是 https://www.b…...
力扣hot100:438.找到字符串中所有字母异位词
26个字符,我复制怎么了?26个字符我比较个数怎么了? 顶多时间复杂度*26 本题用固定窗口大小的滑动窗口每次比较包含26个元素的数组次数,最容易写。 动态窗口大小哈希表存数值(双指针差值)难想难写。 一、动态…...
Kali Linux 2024.1
Kali Linux 2024.1刚刚发布,标志着这个备受欢迎的安全重点Linux发行版在今年的首次重大更新。以其先进的渗透测试和安全审计功能而闻名,它是安全专业人员和爱好者的首选工具。 Kali 2024.1 亮点 本次发布由 Linux 内核 6.6 提供支持,突出了…...
springboot启动加载
目录 使用PostConstruct注解 实现InitializingBean接口 实现CommandLineRunner接口 实现ApplicationRunner接口 使用EventListener注解监听ApplicationReadyEvent事件 应用启动完成之前或者之后,我们需要拿数据库中的一些数据加载到本地缓存中。这些数据一般都…...
基于Java的智能停车场管理系统(Vue.js+SpringBoot)
目录 一、摘要1.1 项目介绍1.2 项目录屏 二、研究内容A. 车主端功能B. 停车工作人员功能C. 系统管理员功能1. 停车位模块2. 车辆模块3. 停车记录模块4. IC卡模块5. IC卡挂失模块 三、界面展示3.1 登录注册3.2 车辆模块3.3 停车位模块3.4 停车数据模块3.5 IC卡档案模块3.6 IC卡挂…...
ESD Clamp cell是什么?
ESD CLAMP cell(静电放电钳位单元)是一种专门设计来保护集成电路(IC)免受静电放电(ESD)损害的电路元件。静电放电是在电子设备的组件之间或内部发生的突然电流放电,它可能会损坏电路或降低其性能…...
费率电能表
费率电能表是一种用于测量家庭、商业和工业用电的设备,有效的实现分段计费、分时计费,优化用电效率。费率电能表的产生是为了缓解高峰期的用电负荷,平衡各时间段的用电负荷;根据当地用电负荷曲线情况制定时段费率 在费率电能表中…...
2张图2秒钟3D重建!这款AI工具火爆GitHub,网友:忘掉Sora
只需2张图片,无需测量任何额外数据—— 当当,一个完整的3D小熊就有了: 这个名为DUSt3R的新工具,火得一塌糊涂,才上线没多久就登上GitHub热榜第二。 ▲image 有网友实测,拍两张照片,真的就重建…...
C++高级面试题:请解释 C++ 中的指针和引用之间的区别。
请解释 C 中的指针和引用之间的区别。 在 C 中,指针(Pointers)和引用(References)都是用于处理内存地址的工具,但它们有一些重要的区别: 语法和用法: 指针使用 * 运算符来访问其所…...
Git 配置处理客户端无法正常访问到 github 原网站时,npm 下载依赖包失败的问题
Git 配置处理客户端无法正常访问到 github 原网站时,npm 下载依赖包失败的问题 使用 github 的镜像网站地址或类似的替代产品地址,代替到 npm 拉取依赖包的 git 地址本地Git配置 例如:执行一下命令,则是以https://kgithub.com 替…...
前端爬虫+可视化Demo
爬虫简介 可以把互联网比做成一张 “大网”,爬虫就是在这张大网上不断爬取信息的程序。 爬虫是请求网站并提取数据的自动化程序。 省流:Demo实现前置知识: JS 基础Node 基础 (1)爬虫基本工作流程: 向…...
keepAlive
router c.js const view (name) > () > import(/views/文件夹名/ name) export const c [ {path: /xxx,name: aaa,meta: {title: 哈哈哈,admin: true,keepAlive:true //加这个},component: view(xxx) }, ]adminMain.vue <keep-alive><router-view v-if"…...
Flask RESTful 示例
目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题: 下面创建一个简单的Flask RESTful API示例。首先,我们需要创建环境,安装必要的依赖,然后…...
MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例
一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...
DockerHub与私有镜像仓库在容器化中的应用与管理
哈喽,大家好,我是左手python! Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库,用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...
【Java学习笔记】Arrays类
Arrays 类 1. 导入包:import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序(自然排序和定制排序)Arrays.binarySearch()通过二分搜索法进行查找(前提:数组是…...
Cinnamon修改面板小工具图标
Cinnamon开始菜单-CSDN博客 设置模块都是做好的,比GNOME简单得多! 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...
mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包
文章目录 现象:mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时,可能是因为以下几个原因:1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...
C++八股 —— 单例模式
文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全(Thread Safety) 线程安全是指在多线程环境下,某个函数、类或代码片段能够被多个线程同时调用时,仍能保证数据的一致性和逻辑的正确性…...
学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”
2025年#高考 将在近日拉开帷幕,#AI 监考一度冲上热搜。当AI深度融入高考,#时间同步 不再是辅助功能,而是决定AI监考系统成败的“生命线”。 AI亮相2025高考,40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕,江西、…...
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的“no matching...“系列算法协商失败问题
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的"no matching..."系列算法协商失败问题 摘要: 近期,在使用较新版本的OpenSSH客户端连接老旧SSH服务器时,会遇到 "no matching key exchange method found", "n…...
uniapp手机号一键登录保姆级教程(包含前端和后端)
目录 前置条件创建uniapp项目并关联uniClound云空间开启一键登录模块并开通一键登录服务编写云函数并上传部署获取手机号流程(第一种) 前端直接调用云函数获取手机号(第三种)后台调用云函数获取手机号 错误码常见问题 前置条件 手机安装有sim卡手机开启…...
