联想时做的函数防抖

输入框的联想功能解决他的函数抖动问题

思路:函数抖动是因为他在一段时间内执行了多次,要想让他在这段时间内只执行一次呢就需要一个定时器来帮助延迟执行,如果在这段时间内多次触发,则把上次记录的延迟执行的代码用clearTimeout清掉,要是没被多次执行则等到延时时间一到执行目标代码即可

<input placeholder="输入业务负责人" onChange={(e)=>{this.search(e)}}>


if(time!==null){
clearTimeout(time)
}
search=(e)=>{
const data=e.target.value;  //要传的参数就是选中的参数
time=setTimeout(()=>{
searchUser(parmas).then((res)=>{       //带参数发请求
this.setState({users:res.data.splice(0,5)})   //把请求回来的数据进行处理保存在一个变量中
})
},2000)
}
  • splice()方法是向数组中添加或删除元素,返回被改变的数组,该方法会改变原数组,方法中的两个值是开始位置要是0从头开始算,要是负数就是从末尾开始算,第二个数是数量,截取多少个
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值