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);
  }
});

 

posted @ 2025-12-03 09:52  骚哥  阅读(5)  评论(0)    收藏  举报