Vue技术之“防抖动”

Vue技术之“防抖动”

防抖动方案

1.睡1秒方案

let timeoutId = null;
const purchaseReplenishmentRuleFormFormData = inject('purchaseReplenishmentRuleFormFormData')
// 监听变化
watch(() => purchaseReplenishmentRuleFormFormData,(row) => {if (props.productSku) {// 防抖动if (timeoutId) {clearTimeout(timeoutId);}timeoutId = setTimeout(async () => {fetchAverageDailySales(props.productSku)}, 1000);}},{ deep: true } // 深度监听,因为数组内容可能变化
)
onUnmounted(() => {if (timeoutId) {clearTimeout(timeoutId);}
});