perf: 右键取消元素创建

This commit is contained in:
pipipi-pikachu 2021-11-20 20:13:58 +08:00
parent 8a8a597208
commit 3771b6933d

View File

@ -3,6 +3,7 @@
class="element-create-selection" class="element-create-selection"
ref="selectionRef" ref="selectionRef"
@mousedown.stop="$event => createSelection($event)" @mousedown.stop="$event => createSelection($event)"
@contextmenu.stop.prevent
> >
<div :class="['selection', creatingElement.type]" v-if="start && end" :style="position"> <div :class="['selection', creatingElement.type]" v-if="start && end" :style="position">
@ -29,7 +30,7 @@
<script lang="ts"> <script lang="ts">
import { computed, defineComponent, onMounted, reactive, ref } from 'vue' import { computed, defineComponent, onMounted, reactive, ref } from 'vue'
import { useStore } from '@/store' import { MutationTypes, useStore } from '@/store'
export default defineComponent({ export default defineComponent({
name: 'element-create-selection', name: 'element-create-selection',
@ -104,6 +105,12 @@ export default defineComponent({
document.onmouseup = e => { document.onmouseup = e => {
document.onmousemove = null document.onmousemove = null
document.onmouseup = null document.onmouseup = null
if (e.button === 2) {
setTimeout(() => store.commit(MutationTypes.SET_CREATING_ELEMENT, null), 0)
return
}
isMouseDown = false isMouseDown = false
const endPageX = e.pageX const endPageX = e.pageX