当前位置: 首页 > news >正文

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

http://www.lryc.cn/news/502144.html

相关文章:

  • 设置IMX6ULL开发板的网卡IP的两种方法(临时生效和永久有效两种方法)
  • 流量转发利器之Burpsuite概述(1)
  • Transformer入门(6)Transformer编码器的前馈网络、加法和归一化模块
  • element-plus中的resetFields()方法
  • 【过滤器】.NET开源 ORM 框架 SqlSugar 系列
  • Jmeter Address already in use: connect 解决
  • C#常见错误—空对象错误
  • Leetcode数学部分笔记
  • 微信小程序web-view 嵌套h5界面 实现文件预览效果
  • 【汽车】-- 燃油发动机3缸和4缸
  • 轻量级的 HTML 模板引擎
  • Mysql | 尚硅谷 | 第02章_MySQL环境搭建
  • Maven学习(传统Jar包管理、Maven依赖管理(导入坐标)、快速下载指定jar包)
  • CTF: 在本地虚拟机内部署CTF题目docker
  • 视频推拉流EasyDSS无人机直播技术巡查焚烧、烟火情况
  • SpringBoot【十一】mybatis-plus实现多数据源配置,开箱即用!
  • 【嵌入式linux基础】关于linux文件多次的open
  • TPAMI 2023:When Object Detection Meets Knowledge Distillation: A Survey
  • 2024前端面试题(持续更新)
  • apache转nginx访问变成下载解决方法
  • 【iOS】OC高级编程 iOS多线程与内存管理阅读笔记——自动引用计数(三)
  • Oracle数据库使用dblink是时出现 ORA-12170:TNS:连接超时
  • OpenHarmony系统中实现Android虚拟化、模拟器相关的功能,包括桌面显示,详细解决方案
  • 决策曲线分析(DCA)中平均净阈值用于评价模型算法(R自定义函数)
  • 《经验分享 · 软考系统分析师》
  • 记录一下 js encodeURI和encodeURIComponent URL转码问题
  • 【C语言】二维前缀和/求子矩阵之和
  • SRS 服务器入门:实时流媒体传输的理想选择
  • 【ETCD】【源码阅读】configurePeerListeners() 函数解析
  • 1_ssrf总结