feat: 增加鼠标按下拖拽选点功能
This commit is contained in:
parent
3c92cbff86
commit
194162804e
|
@ -4,6 +4,10 @@
|
|||
class="color-palette"
|
||||
:style="{ width: circleWidth + 'px', height: circleWidth + 'px' }"
|
||||
@click="handleClick"
|
||||
@mousedown="handleMouseDown"
|
||||
@mousemove="handleMouseMove"
|
||||
@mouseup="handleMouseUp"
|
||||
@mouseout="handleMouseOut"
|
||||
>
|
||||
<span
|
||||
ref="dotElemRef"
|
||||
|
@ -43,11 +47,38 @@ export default {
|
|||
dotPosition: {
|
||||
x: 0,
|
||||
y: 0
|
||||
}
|
||||
},
|
||||
isMouseDown: false
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
handleClick({ offsetX, offsetY }) {
|
||||
this.setPositionByMouseEvent(offsetX, offsetY)
|
||||
},
|
||||
|
||||
// 鼠标按下
|
||||
handleMouseDown({ offsetX, offsetY }) {
|
||||
this.setPositionByMouseEvent(offsetX, offsetY)
|
||||
this.isMouseDown = true
|
||||
},
|
||||
|
||||
handleMouseMove({ offsetX, offsetY }) {
|
||||
if (this.isMouseDown) {
|
||||
this.setPositionByMouseEvent(offsetX, offsetY)
|
||||
}
|
||||
},
|
||||
|
||||
// 鼠标抬起
|
||||
handleMouseUp() {
|
||||
this.isMouseDown = false
|
||||
},
|
||||
|
||||
// 鼠标移开
|
||||
handleMouseOut() {
|
||||
this.isMouseDown = false
|
||||
},
|
||||
|
||||
setPositionByMouseEvent(offsetX, offsetY) {
|
||||
const { degree, radian } = this.getDegree([offsetX, offsetY])
|
||||
for (let index = 0; index < this.range; index++) {
|
||||
if (degree >= this.perDegree * index && degree < this.perDegree * (index + 1)) {
|
||||
|
|
Loading…
Reference in New Issue
Block a user