Skip to content

Commit c127bac

Browse files
committed
doc: update drag modal demo
1 parent f081707 commit c127bac

File tree

1 file changed

+14
-15
lines changed

1 file changed

+14
-15
lines changed

components/modal/demo/modal-render.vue

+14-15
Original file line numberDiff line numberDiff line change
@@ -51,29 +51,28 @@ export default defineComponent({
5151
};
5252
const startX = ref<number>(0);
5353
const startY = ref<number>(0);
54-
const startUpdatePos = ref(false);
54+
const startedDrag = ref(false);
5555
const transformX = ref(0);
5656
const transformY = ref(0);
5757
const preTransformX = ref(0);
5858
const preTransformY = ref(0);
59-
let timeoutId;
59+
watch([x, y], () => {
60+
if (!startedDrag.value) {
61+
startX.value = x.value;
62+
startY.value = y.value;
63+
preTransformX.value = transformX.value;
64+
preTransformY.value = transformY.value;
65+
}
66+
startedDrag.value = true;
67+
});
6068
watch(isDragging, () => {
61-
clearTimeout(timeoutId);
62-
timeoutId = setTimeout(() => {
63-
if (isDragging.value) {
64-
startX.value = x.value;
65-
startY.value = y.value;
66-
preTransformX.value = transformX.value;
67-
preTransformY.value = transformY.value;
68-
startUpdatePos.value = true;
69-
} else {
70-
startUpdatePos.value = false;
71-
}
72-
}, 50);
69+
if (!isDragging) {
70+
startedDrag.value = false;
71+
}
7372
});
7473
7574
watchEffect(() => {
76-
if (startUpdatePos.value) {
75+
if (startedDrag.value) {
7776
transformX.value = preTransformX.value + x.value - startX.value;
7877
transformY.value = preTransformY.value + y.value - startY.value;
7978
}

0 commit comments

Comments
 (0)