news 2026/9/25 14:01:47

vue3+lodash/debounce封装组件:搜索框输入防抖(等待用户连续输入停止n秒后自动搜索)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
vue3+lodash/debounce封装组件:搜索框输入防抖(等待用户连续输入停止n秒后自动搜索)

Lodash官网:https://lodash.com/
Lodash主页:https://github.com/lodash/lodash#installation

1、安装 lodash 或 lodash-es

# 安装完整 Lodash 工具库npmi--savelodash# 或者仅安装 ES 模块版本‌,体积更小、性能更好(推荐)npmi lodash-es

2、安装配置 element-plus(按需)

请参考我之前的文章:vue3+elementplus+sass/scss安装配置教程:使用svg图标、引入外部字体、定义变量模块、修改组件样式、一键切换主题等

3、封装组件

<!-- src/components/DebounceSearch.vue --><template><el-inputv-model.trim="value"placeholder="请输入关键词进行搜索"clearable:disabled="disabled"@input="handleInput(value)"@clear="onSearch('')"class="debounce_search"><template#prefix><el-iconclass="el-input__icon"><search/></el-icon></template></el-input></template><script>importdebouncefrom'lodash-es/debounce'//引入防抖函数exportdefault{props:{disabled:Boolean,//是否禁用},data(){return{value:'',handleInput:null,//输入时触发input事件执行防抖函数}},created(){//等待用户连续输入,当输入停止2秒后执行一次搜索this.handleInput=debounce((value)=>{this.onSearch(value)},2000)},methods:{//自定义搜索逻辑onSearch(value){//例如:触发search事件并传递参数valuethis.$emit('search',value)},},}</script><stylelang="scss">.debounce_search{width:250px;margin-right:15px;}</style>

4、全局注册组件(也可在应用时按需引入)

/* src/main.js */import{createApp}from"vue";importAppfrom"./App.vue";//导入组件importDebounceSearchfrom"./components/DebounceSearch.vue";//import MoreComponent from "./components/MoreComponent.vue";constapp=createApp(App);//注册组件app.component("DebounceSearch",DebounceSearch);//app.component("MoreComponent", MoreComponent)app.mount('#app')

5、应用组件

<!-- Example.vue --><template><div><!-- 全局注册后可直接使用 <DebounceSearch /> -->姓名:<DebounceSearch:disabled="loading"@search="getData"/></div></template><script>//或按需引入组件(仅此页面生效)importDebounceSearchfrom'@/components/DebounceSearch.vue'exportdefault{components:{DebounceSearch,//注册组件(仅此页面生效)},data(){return{loading:false,}},methods:{//触发search事件时执行函数getData(value){this.loading=trueconstparams={searchText:value,currentPage:1,}//……},},}</script>
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/25 14:00:40

Linux下Eclipse安装与TaoToken配置:从环境准备到settings.json骨架

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/25 13:59:05

客服系统落地指南:工单流转、SLA与自动化规则详解

做客服系统这些年&#xff0c;我最常听到的一句话是&#xff1a;“我们上了 CRM&#xff0c;但好像没什么用。”上线前花了不少功夫&#xff0c;配置也做了&#xff0c;培训也搞了&#xff0c;结果工单还是乱&#xff0c;响应还是慢&#xff0c;客户还是不满意。后来我复盘了不…

作者头像 李华
网站建设 2026/9/25 13:58:08

Neo4j社区版tar包部署与知识图谱构建实战

简介&#xff1a;Neo4j社区版5.24.2的Unix平台tar.gz安装包&#xff0c;面向需要构建图数据模型、处理复杂关系网络的开发者与研究人员&#xff0c;尤其适合国内无法直接访问官网下载的用户。资源共257个文件&#xff0c;以238个jar核心依赖库为主&#xff0c;辅以conf配置、tx…

作者头像 李华
网站建设 2026/9/25 13:57:09

Robocup仿真救援代码实战:从环境搭建到多智能体决策与调优

简介&#xff1a;这份Robocup仿真救援代码面向参加Robocup Rescue仿真竞赛的学生、AI与机器人方向开发者&#xff0c;提供一套可运行的救援仿真软件工程&#xff0c;用于在虚拟灾害场景中实现自主决策、搜索、导航与危险评估。压缩包共43个文件&#xff0c;以42个Java源码及1个…

作者头像 李华
网站建设 2026/9/25 13:53:25

5个免费AI写作软件搭配TaoToken:效率办公告别熬夜加班苦日子

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华