我的列表新增拖动调整位置功能

This commit is contained in:
lyswhut
2021-12-27 18:14:43 +08:00
parent b783c0c227
commit 028c2f9f03
12 changed files with 177 additions and 65 deletions
+14 -1
View File
@@ -1,10 +1,12 @@
import tips from './Tips'
import { debounce } from '../../utils'
import { base as eventBaseName } from '@renderer/event/names'
let instance
let prevTips
let prevX = 0
let prevY = 0
let isDraging = false
const getTips = el =>
el
@@ -16,6 +18,7 @@ const getTips = el =>
: null
const showTips = debounce(event => {
if (isDraging) return
let msg = getTips(event.target)
if (!msg) return
prevTips = msg
@@ -46,6 +49,7 @@ const setTips = tips => {
}
const updateTips = event => {
if (isDraging) return
if (!instance) return showTips(event)
setTimeout(() => {
let msg = getTips(event.target)
@@ -56,7 +60,7 @@ const updateTips = event => {
}
document.body.addEventListener('mousemove', event => {
if (event.x == prevX && event.y == prevY) return
if ((event.x == prevX && event.y == prevY) || isDraging) return
prevX = event.x
prevY = event.y
hideTips()
@@ -66,3 +70,12 @@ document.body.addEventListener('mousemove', event => {
document.body.addEventListener('click', updateTips)
document.body.addEventListener('contextmenu', updateTips)
window.eventHub.on(eventBaseName.dragStart, () => {
isDraging = true
hideTips()
})
window.eventHub.on(eventBaseName.dragEnd, () => {
isDraging = false
})