利用 vue3 的 customRef 实现
JS
HTML
import { customRef } from 'vue';
export function debounceRef(value, delay = 1000) {
let timer;
return customRef((track, trigger) => {
return {
get() {
track(); // 收集依赖
return value;
},
set(val) {
clearTimeout(timer);
setTimeout(() => {
value = val;
trigger(); // 派发更新
}, delay);
},
};
});
}
<template>
<input v-model="text" />
<p>{{ text }}</p>
</template>
<script>
import { debounceRef } from './debounceRef.js';
export default {
setup() {
const text = debounceRef('');
return { text };
},
};
</script>
<style lang="less" scoped>
</style>
打赏作者
您的打赏是我前进的动力
微信
支付宝
leetcode🧑💻 39. 组合总和
上一篇
评论