parent
							
								
									7d7f0f326c
								
							
						
					
					
						commit
						7bc9c78d51
					
				| 
						 | 
					@ -26,7 +26,7 @@ export const getTransitionProps = (transitionName: string, opt: TransitionProps
 | 
				
			||||||
        // appearActiveClass: `antdv-base-transtion`,
 | 
					        // appearActiveClass: `antdv-base-transtion`,
 | 
				
			||||||
        // appearToClass: `${transitionName}-appear ${transitionName}-appear-active`,
 | 
					        // appearToClass: `${transitionName}-appear ${transitionName}-appear-active`,
 | 
				
			||||||
        enterFromClass: `${transitionName}-enter ${transitionName}-enter-prepare`,
 | 
					        enterFromClass: `${transitionName}-enter ${transitionName}-enter-prepare`,
 | 
				
			||||||
        // enterActiveClass: `${transitionName}-enter ${transitionName}-enter-active`,
 | 
					        enterActiveClass: `${transitionName}-enter ${transitionName}-enter-prepare`,
 | 
				
			||||||
        enterToClass: `${transitionName}-enter ${transitionName}-enter-active`,
 | 
					        enterToClass: `${transitionName}-enter ${transitionName}-enter-active`,
 | 
				
			||||||
        leaveFromClass: ` ${transitionName}-leave`,
 | 
					        leaveFromClass: ` ${transitionName}-leave`,
 | 
				
			||||||
        leaveActiveClass: `${transitionName}-leave ${transitionName}-leave-active`,
 | 
					        leaveActiveClass: `${transitionName}-leave ${transitionName}-leave-active`,
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -39,9 +39,25 @@ export default defineComponent({
 | 
				
			||||||
        measureStretchStyle(props.getRootDomNode());
 | 
					        measureStretchStyle(props.getRootDomNode());
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 | 
					    const visible = ref(false);
 | 
				
			||||||
 | 
					    let timeoutId: any;
 | 
				
			||||||
 | 
					    watch(
 | 
				
			||||||
 | 
					      () => props.visible,
 | 
				
			||||||
 | 
					      val => {
 | 
				
			||||||
 | 
					        clearTimeout(timeoutId);
 | 
				
			||||||
 | 
					        if (val) {
 | 
				
			||||||
 | 
					          timeoutId = setTimeout(() => {
 | 
				
			||||||
 | 
					            visible.value = props.visible;
 | 
				
			||||||
 | 
					          });
 | 
				
			||||||
 | 
					        } else {
 | 
				
			||||||
 | 
					          visible.value = false;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      { immediate: true },
 | 
				
			||||||
 | 
					    );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // ======================== Status ========================
 | 
					    // ======================== Status ========================
 | 
				
			||||||
    const [status, goNextStatus] = useVisibleStatus(toRef(props, 'visible'), doMeasure);
 | 
					    const [status, goNextStatus] = useVisibleStatus(visible, doMeasure);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // ======================== Aligns ========================
 | 
					    // ======================== Aligns ========================
 | 
				
			||||||
    const prepareResolveRef = ref<(value?: unknown) => void>();
 | 
					    const prepareResolveRef = ref<(value?: unknown) => void>();
 | 
				
			||||||
| 
						 | 
					@ -117,7 +133,6 @@ export default defineComponent({
 | 
				
			||||||
    return () => {
 | 
					    return () => {
 | 
				
			||||||
      const {
 | 
					      const {
 | 
				
			||||||
        zIndex,
 | 
					        zIndex,
 | 
				
			||||||
        visible,
 | 
					 | 
				
			||||||
        align,
 | 
					        align,
 | 
				
			||||||
        prefixCls,
 | 
					        prefixCls,
 | 
				
			||||||
        destroyPopupOnHide,
 | 
					        destroyPopupOnHide,
 | 
				
			||||||
| 
						 | 
					@ -131,7 +146,8 @@ export default defineComponent({
 | 
				
			||||||
      const mergedStyle: CSSProperties = {
 | 
					      const mergedStyle: CSSProperties = {
 | 
				
			||||||
        ...stretchStyle.value,
 | 
					        ...stretchStyle.value,
 | 
				
			||||||
        zIndex,
 | 
					        zIndex,
 | 
				
			||||||
        opacity: statusValue === 'motion' || statusValue === 'stable' || !visible ? undefined : 0,
 | 
					        opacity:
 | 
				
			||||||
 | 
					          statusValue === 'motion' || statusValue === 'stable' || !visible.value ? undefined : 0,
 | 
				
			||||||
        pointerEvents: statusValue === 'stable' ? undefined : 'none',
 | 
					        pointerEvents: statusValue === 'stable' ? undefined : 'none',
 | 
				
			||||||
        ...(attrs.style as object),
 | 
					        ...(attrs.style as object),
 | 
				
			||||||
      };
 | 
					      };
 | 
				
			||||||
| 
						 | 
					@ -149,7 +165,8 @@ export default defineComponent({
 | 
				
			||||||
        childNode = <div class={`${prefixCls}-content`}>{childNode}</div>;
 | 
					        childNode = <div class={`${prefixCls}-content`}>{childNode}</div>;
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
      const mergedClassName = classNames(prefixCls, attrs.class, alignedClassName.value);
 | 
					      const mergedClassName = classNames(prefixCls, attrs.class, alignedClassName.value);
 | 
				
			||||||
      const transitionProps = getTransitionProps(motion.value.name, motion.value);
 | 
					      const hasAnimate = visible.value || !props.visible;
 | 
				
			||||||
 | 
					      const transitionProps = hasAnimate ? getTransitionProps(motion.value.name, motion.value) : {};
 | 
				
			||||||
      return (
 | 
					      return (
 | 
				
			||||||
        <Transition
 | 
					        <Transition
 | 
				
			||||||
          ref={elementRef}
 | 
					          ref={elementRef}
 | 
				
			||||||
| 
						 | 
					@ -157,9 +174,9 @@ export default defineComponent({
 | 
				
			||||||
          onBeforeEnter={onShowPrepare}
 | 
					          onBeforeEnter={onShowPrepare}
 | 
				
			||||||
          v-slots={{
 | 
					          v-slots={{
 | 
				
			||||||
            default: () => {
 | 
					            default: () => {
 | 
				
			||||||
              return !destroyPopupOnHide || visible ? (
 | 
					              return !destroyPopupOnHide || props.visible ? (
 | 
				
			||||||
                <Align
 | 
					                <Align
 | 
				
			||||||
                  v-show={visible}
 | 
					                  v-show={visible.value}
 | 
				
			||||||
                  target={getAlignTarget()}
 | 
					                  target={getAlignTarget()}
 | 
				
			||||||
                  key="popup"
 | 
					                  key="popup"
 | 
				
			||||||
                  ref={alignRef}
 | 
					                  ref={alignRef}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,5 +1,5 @@
 | 
				
			||||||
import type { Ref } from 'vue';
 | 
					import type { Ref } from 'vue';
 | 
				
			||||||
import { nextTick, onBeforeUnmount, ref, watch, onMounted } from 'vue';
 | 
					import { onBeforeUnmount, ref, watch, onMounted } from 'vue';
 | 
				
			||||||
import type { RafFrame } from '../../_util/raf';
 | 
					import type { RafFrame } from '../../_util/raf';
 | 
				
			||||||
import raf from '../../_util/raf';
 | 
					import raf from '../../_util/raf';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -76,7 +76,7 @@ export default (
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (status.value) {
 | 
					        if (status.value) {
 | 
				
			||||||
          nextTick(() => {
 | 
					          rafRef.value = raf(async () => {
 | 
				
			||||||
            const index = StatusQueue.indexOf(status.value);
 | 
					            const index = StatusQueue.indexOf(status.value);
 | 
				
			||||||
            const nextStatus = StatusQueue[index + 1];
 | 
					            const nextStatus = StatusQueue[index + 1];
 | 
				
			||||||
            if (nextStatus && index !== -1) {
 | 
					            if (nextStatus && index !== -1) {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -62,12 +62,12 @@ export default defineComponent({
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  mounted() {
 | 
					  mounted() {
 | 
				
			||||||
    this.scrollbarRef.current.addEventListener(
 | 
					    this.scrollbarRef.current?.addEventListener(
 | 
				
			||||||
      'touchstart',
 | 
					      'touchstart',
 | 
				
			||||||
      this.onScrollbarTouchStart,
 | 
					      this.onScrollbarTouchStart,
 | 
				
			||||||
      supportsPassive ? ({ passive: false } as EventListenerOptions) : false,
 | 
					      supportsPassive ? ({ passive: false } as EventListenerOptions) : false,
 | 
				
			||||||
    );
 | 
					    );
 | 
				
			||||||
    this.thumbRef.current.addEventListener(
 | 
					    this.thumbRef.current?.addEventListener(
 | 
				
			||||||
      'touchstart',
 | 
					      'touchstart',
 | 
				
			||||||
      this.onMouseDown,
 | 
					      this.onMouseDown,
 | 
				
			||||||
      supportsPassive ? ({ passive: false } as EventListenerOptions) : false,
 | 
					      supportsPassive ? ({ passive: false } as EventListenerOptions) : false,
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue