ezyActive.vue 491 B

1234567891011121314151617181920212223242526272829
  1. <template>
  2. <view @click="handleClick">
  3. <slot />
  4. </view>
  5. </template>
  6. <!-- 父组件传值使用 :delay="500" -->
  7. <script setup>
  8. import { defineProps, defineEmits } from 'vue'
  9. // 定义延迟时间的prop,默认值300ms
  10. const props = defineProps({
  11. delay: {
  12. type: Number,
  13. default: 300
  14. }
  15. })
  16. const emits = defineEmits(['aclick'])
  17. function handleClick() {
  18. setTimeout(() => {
  19. emits('aclick')
  20. }, props.delay); // 使用props.delay作为延迟时间
  21. }
  22. </script>
  23. <style>
  24. </style>