From 0c6c54d377b74e66d47ee7c3e75f12b3eca7aa35 Mon Sep 17 00:00:00 2001 From: saller Date: Mon, 25 Mar 2024 15:56:27 +0800 Subject: [PATCH] fix(comp:tour): async appended steps doesn't work (#1866) --- .../components/tour/src/composables/useActiveStep.ts | 11 +++++------ .../components/tour/src/composables/useStepChange.ts | 2 +- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/packages/components/tour/src/composables/useActiveStep.ts b/packages/components/tour/src/composables/useActiveStep.ts index de3f0d64a..59ea925e1 100644 --- a/packages/components/tour/src/composables/useActiveStep.ts +++ b/packages/components/tour/src/composables/useActiveStep.ts @@ -33,12 +33,11 @@ export function useActiveStep( const getActiveStep = async (index: number) => { const props = mergedProps.value - if (!props.steps) { + const step = props.steps?.[index] + if (!step) { return } - const step = props.steps[index] - if (step.beforeEnter) { await step.beforeEnter() } @@ -117,9 +116,9 @@ export function useActiveStep( } watch( - activeIndex, - async current => { - if (current === activeStep.value?.index) { + [activeIndex, () => mergedProps.value.steps], + ([current, steps], [, preSteps]) => { + if (current === activeStep.value?.index && steps === preSteps) { return } diff --git a/packages/components/tour/src/composables/useStepChange.ts b/packages/components/tour/src/composables/useStepChange.ts index c33f477d1..a2294ea4e 100644 --- a/packages/components/tour/src/composables/useStepChange.ts +++ b/packages/components/tour/src/composables/useStepChange.ts @@ -76,7 +76,7 @@ export function useStepChange( watch( activeIndex, (current, pre) => { - if (current !== pre) { + if (current !== pre && visible.value) { transitionTmr && clearTimeout(transitionTmr) lock() }