vuejs-challenges icon indicating copy to clipboard operation
vuejs-challenges copied to clipboard

23 - 自定义ref

Open undefined-zzk opened this issue 1 year ago • 1 comments

// 你的答案

`

/**

  • Implement the function */ function useDebouncedRef(value, delay = 200) { const val= customRef((track,trigger)=>{ let timer=ref() return { get(){ track() return value }, set(newVal){ timer.value && clearTimeout(timer.value) timer.value=setTimeout(()=>{ value=newVal trigger() clearTimeout(timer.value) timer.value=null },delay) } } }) return val } const text = useDebouncedRef("hello")

/**

  • Make sure the callback only gets triggered once when entered multiple times in a certain timeout */ watch(text, (value) => { console.log(value) })
`

undefined-zzk avatar Feb 04 '24 02:02 undefined-zzk

just so so

undefined-zzk avatar Feb 04 '24 02:02 undefined-zzk