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