useDebounce
useDebounce 用于处理防抖值。
基础用法
<template>
<div>
<label>Value:</label>
<input
type="text"
:value="value"
placeholder="请输入"
@input="
(e) => {
changeValue(e);
}
"
/>
<div>debouncedValue{{ debouncedValue }}</div>
</div>
</template>
<script lang="ts" setup>
import { ref, watch, Ref } from "vue";
import { useDebounce } from "hooks-vue3";
const value = ref("1");
const debouncedValue = useDebounce<Ref<string>>(value, {
wait: 500,
});
const changeValue = (e: any) => {
value.value = e.target.value;
};
watch(debouncedValue, () => {
console.log("debouncedValue", debouncedValue);
});
</script>
API
import type { DebounceSettings } from 'lodash-es/debounce';
interface Options extends DebounceSettings {
wait?: number;
}
const debounceValue = useDebounce(value:T,{ wait: Options });
参数
value (T): 要防抖动的值。
[wait=1000] (number): 需要延迟的毫秒数。
[options=] (Object): 选项对象。
[options.leading=false] (boolean): 指定在延迟开始前调用。
[options.maxWait] (number): 设置 func 允许被延迟的最大值。
[options.trailing=true] (boolean): 指定在延迟结束后调用。
Last updated