Skip to content

示例

延迟响应 - 防抖(等数据输入完成再响应)

JavaScript
// 自定义一个ref
function myRef (value,delay){
    let timer
    return customRef((track,trigger)=>{
        return {
            get(){
                // console.log("有人从myRef读取数据了")
                track() //3.让数据可以追踪
                return value
            },
            set(newV){
                clearTimeout(timer)
                // console.log("有人把myRef中的数据修改了")
                timer = setTimeout(() => {
                    value = newV //1. 修改数据
                    trigger() //2. 通知vue重新解析模板
                }, delay);
                
            }
        }
    })
}