learn-(Uni-app)输入框u-search父子组件与input输入框(防抖与搜索触发)

1.父子组件u-search
(1)父组件
<!-- 父组件 -->
<template>
<div>
    <searchBar @change="change" @search="search"></searchBar> 
</div>
</template>
<script>
// 子组件搜索
import searchBar from "@/components/searchBar.vue";
export default {
    data() {
        return {
            pageSize: 10, //每页条数
            pages: 1, //当前页数
            pageCount: 0, //总页数
            timer: null, //函数防抖定时器
            searchName: "", //搜索名称
            dataList: [], //数据
        };
    },
    created() {
        this.init();
    },
    components: { searchBar },
    methods: {
        // 初始化执行
        init() {
            this.getData()
        },
        // 输入框值发生变化时触发
        change(e) {
            this.searchName = e;//输入框值赋值
            // 防抖处理 防止输入框频繁触发请求
            clearTimeout(this.timer);
            this.timer = setTimeout(() => {
                this.pages = 1; //当前页数
                this.pageCount = 0; //总页数
                this.init();//初始化方法
            }, 1000);
        },
        // 确定搜索时触发,回车键,手机键盘右下角的"搜索"键时触发
        search(e) {
            this.searchName = e;
            this.pages = 1; //当前页数
            this.pageCount = 0; //总页数
            this.init();
        },
        // 获取讲师培训数据
        getData() {
            let params = {
                queryData: {
                    pageNo: this.pages,
                    pageSize: this.pageSize,
                    sortField: "",
                    sortOrder: "asc",
                    params: {
                        course_Name: this.searchName,
                    },
                },
            };
            getDataApi.getData(params).then((res) => {
                this.dataList = res.result.data;
            })
            .catch((e) => {
            });
        },
    },
};
</script>
<style lang="less" scoped></style>
(2)子组件
<!-- 子组件-搜索 -->
<template>
    <div>
        <u-search placeholder="请输入" :showAction="false" v-model="value" @change="change" @search="search"></u-search>
    </div>
</template>
<script>
export default {
    data() {
        return {
            value: "", //搜索内容
        };
    },
    methods: {
        // 输入框值变化时触发
        change() {
            this.$emit("change", this.value);
        },
        // 确定搜索时触发,回车键,手机键盘右下角的"搜索"键时触发
        search() {
            this.$emit("search", this.value);
        },
    },
};
</script>
<style lang="less" scoped></style>
 2.非父子组件input输入框

 代码如下

<template>
  <div>
    <input type="text" @input="change" />
  </div>
</template>
<script>
export default {
  data() {
    return {
      courseName: '',
      pages: 1,
      pageCount: 0,
      timer: null
    };
  },
  methods: {
    change(e) {
      this.courseName = e.target.value;
      clearTimeout(this.timer);
      this.timer = setTimeout(() => {
        this.pages = 1;
        this.pageCount = 0;
        this.init();
      }, 500);
    },
    init() {
      // 数据初始化逻辑
    }
  }
};
</script>

用户在输入框中输入内容时,change方法会被触发,进行防抖处理,并在延迟结束后调用init方法进行数据初始化。

3.setTimeout()和setInterval()

js-setTimeout()和setInterval()同样执行倒数100秒区别(setTimeout精度更高)_js settimeout回调和setinterval谁的效率高-CSDN博客文章浏览阅读304次。setTimeout()和setInterval()同样执行倒数100秒区别(setTimeout精度更高)_js settimeout回调和setinterval谁的效率高https://blog.csdn.net/2301_76671906/article/details/144141581?fromshare=blogdetail&sharetype=blogdetail&sharerId=144141581&sharerefer=PC&sharesource=2301_76671906&sharefrom=from_link

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/935168.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于PHP课堂签到系统的设计与实现

摘 要 随着教育业的迅速发展和学生人数的不断增加&#xff0c;导致在班级登记制度中传统的“点到”方式不能适应学校的实际需要。从而需要设计一个好的课堂签到系统将会对课堂签到管理工作带来事半功倍的效果。文章着重介绍了基于实践应用的班级签到系统的开发流程&#xff0c…

Qt Designer,仿作一个ui界面的练习(一):界面的基本布局

初学不要太复杂&#xff0c;先做一个结构简单的&#xff0c;大致规划一下功能分区&#xff0c;绘制草图&#xff1a; 最终的效果&#xff1a; 界面主要由顶边栏、侧边栏、内容区构成。顶边栏左边是logo&#xff0c;右边是时钟显示。侧边栏最上边是切换按钮&#xff0c;用以动画…

NES游戏机项目制作笔记(未完成)

24年12月1日晚记——在网上找项目学习的时候发现一个有意思的项目&#xff0c;准备靠这个应用一些STM32的高级功能。值得提醒的是——目的在于学习不可贪杯&#xff0c;注意效率 01 根据项目需求分析 为确保充分考虑每一个细节&#xff0c;并且让自己高效的完成项目制作&#…

C#开发-集合使用和技巧(十)Union用法-并集

在 C# 中&#xff0c;IEnumerable 的 Union 方法用于返回两个序列的并集。Union 方法会去除重复的元素&#xff0c;确保结果集中每个元素都是唯一的。以下是 Union 方法的基本用法&#xff1a; 基本语法 public static IEnumerable<TSource> Union<TSource>(this…

Unity集成Wwise并进行开发

1. 背景 项目要接入WWise&#xff0c;学习一下 1.1 与Unity自带音频系统的区别 Unity有自己的原生音乐功能&#xff1a;AduioSound。但是这个功能较为简单&#xff0c;对于音效开发人员来说并不是很友好。在一些大型的游戏中&#xff0c;音效会接入Wwise这个软件。音效开发者…

如何绕过IP禁令

网站、游戏和应用程序可以屏蔽特定IP地址&#xff0c;从而阻止使用该IP地址的任何人访问其服务。这称为IP禁令。管理员可以出于多种原因&#xff08;例如发出过多请求或可疑活动&#xff09;屏蔽IP地址。但是&#xff0c;这些禁令会使收集数据或访问在线内容变得更加困难。 一…

Oracle EBS FA 如何打开关闭的资产会计期间?

用户“运行折旧”,误勾选为“关闭期间”,还有一部分资产还需要操作报废和调整,希望后台打开关闭的资产会计期 系统环境 RDBMS : 12.1.0.2.0 Oracle Applications : 12.2.9 解决方案 由官方提供SQL脚本代码如下: /*rollback120.sql - for Release 12.X only(based on r…

分布式 分布式事务 总结

前言 相关系列 《分布式 & 目录》《分布式 & 分布式事务 & 总结》《分布式 & 分布式事务 & 问题》 分布式事务 所谓分布式事务是指操作范围笼罩多个不同节点的事务。例如对于订单节点&库存节点而言&#xff0c;一次完整的交易需要同时调动两个节…

部署GitLab服务器

文章目录 环境准备GitLab部署GitLab服务器GitLab中主要的概念客户端上传代码到gitlab服务器CI-CD概述软件程序上线流程安装Jenkins服务器 配置jenkins软件版本管理配置jenkins访问gitlab远程仓库下载到子目录部署代码到web服务器自动化部署流程 配置共享服务器配置jenkins把git…

kubeadm安装K8s集群之基础环境配置

系列文章目录 1.kubeadm安装K8s集群之基础环境配置 2.kubeadm安装K8s集群之高可用组件keepalivednginx 3.kubeadm安装K8s集群之master节点加入 4.kubeadm安装K8s集群之worker1节点加入 kubeadm安装K8s集群基础环境配置 1.首先确保所有机器可以通信&#xff0c;然后配置主机host…

海康威视摄像头RTSP使用nginx推流到服务器直播教程

思路&#xff1a; 之前2020年在本科的时候&#xff0c;由于项目的需求需要将海康威视的摄像头使用推流服务器到网页进行直播。这里将自己半个月琢磨出来的步骤给大家发一些。切勿转载&#xff01;&#xff01;&#xff01;&#xff01; 使用网络摄像头中的rtsp协议---------通…

GLM-4V-Flash:智谱AI引领多模态视觉模型新潮流

点击访问 chatTools 免费体验GPT最新模型&#xff0c;包括o1推理模型、GPT4o 和Claude等模型&#xff01; 随着人工智能技术的不断进步&#xff0c;多模态模型逐渐成为行业关注的焦点。智谱AI作为国内领先的人工智能公司&#xff0c;再次以创新姿态推出了首款免费多模态视觉模型…

头歌 计算机操作系统 Linux之线程同步二

第1关&#xff1a;信号量 任务描述 在上一个实训中&#xff0c;我们学习了使用互斥锁来实现线程的同步&#xff0c;Linux系统中还提供了另一个类似互斥锁的线程不同操作&#xff0c;那就是信号量。 本关任务&#xff1a;学会使用信号量来实现线程间的同步与互斥。 相关知识 …

WADesk 升级 Webpack5 一些技术细节认识5和4的区别在哪里

背景 升级过程中发现有很多新的知识点&#xff0c;虽然未来可能永远都不会再遇到&#xff0c;但是仍然是一次学习的好机会&#xff0c;可以让自己知道&#xff0c;打包软件的进化之路&#xff0c;和原来 Webpack 4 版本的差异在哪里。 移除的依赖记录 babel/register: 在 Nod…

unity打包web,如何减小文件体积,特别是 Build.wasm.gz

unity打包WebGL&#xff0c;使用的是wasw&#xff0c;最终生成的Build.wasm.gz体积很大&#xff0c;有6.5M&#xff0c;有几个方法可以稍微减小这个文件的大小 1. 裁剪引擎代码&#xff1a; 此步可将大小从6.5减小到 6.2&#xff08;此项默认开启&#xff0c;只是改了裁剪等级…

敏捷开发04:Scrum 中的 Product Backlog(产品待办列表) 详细介绍

Product Backlog 产品待办列表 在计划开发产品功能时&#xff0c;都希望产品功能上线后&#xff0c;用户能够喜欢并经常使用。 因此在开发产品新功能时&#xff0c;就要衡量哪些产品需求是对用户最有价值&#xff0c;这是最应该思考的问题。 然后把这些有价值的需求集合放在一…

C# 探险之旅:第一节 - 我的第一个C# 程序

说明&#xff1a;教程针对初学者入门到精通的整个教程&#xff0c;采用连载的方式&#xff0c;会不定时更新。时间多的话可能会更新多一些。 一、首先&#xff0c;我们需要去微软官方下载vs2022安装程序&#xff0c;然后在自己的计算机中安装完编程的IDE程序。 二、假设我们已…

Ubuntu24.04配置STMTrack

项目地址&#xff1a;https://github.com/fzh0917/STMTrack 一、安装 CUDA 参考链接&#xff1a; Ubuntu24.04配置DINO-Tracker Ubuntu多CUDA版本安装及切换 由于之前在其他项目中已经安装了 CUDA12.1&#xff0c;这次需要安装另一个版本。 1. 查看安装版本 按照 requireme…

Luckysheet 实现 excel 多人在线协同编辑(全功能实现增强版)

前言 感谢大家对 Multi person online edit(多人在线编辑器) 项目的支持&#xff0c;mpoe 项目使用 quill、luckysheet、canvas-editor 实现的 md、excel、word 在线协同编辑&#xff0c;欢迎大家Fork 代码&#xff0c;多多 Start哦~ Multi person online edit 多人协同编辑器…

workflow笔记

workflow 介绍 搜狗公司C服务器引擎&#xff0c;编程范式。支撑搜狗几乎所有后端C在线服务&#xff0c;包括所有搜索服务&#xff0c;云输入法&#xff0c;在线广告等&#xff0c;每 日处理数百亿请求。这是一个设计轻盈优雅的企业级程序引擎&#xff0c;可以满足大多数后端与…