mirror of https://github.com/ElemeFE/element
Slider: fix drag bug
parent
c80db9ca8a
commit
932d6bdb6f
|
@ -136,20 +136,24 @@
|
||||||
},
|
},
|
||||||
|
|
||||||
setPosition(newPos) {
|
setPosition(newPos) {
|
||||||
if (newPos >= 0 && (newPos <= 100)) {
|
if (newPos < 0) {
|
||||||
const lengthPerStep = 100 / ((this.max - this.min) / this.step);
|
newPos = 0;
|
||||||
const steps = Math.round(newPos / lengthPerStep);
|
} else if (newPos > 100) {
|
||||||
let value = steps * lengthPerStep * (this.max - this.min) * 0.01 + this.min;
|
newPos = 100;
|
||||||
if (this.precision) {
|
}
|
||||||
value = parseFloat(value.toFixed(this.precision));
|
|
||||||
}
|
const lengthPerStep = 100 / ((this.max - this.min) / this.step);
|
||||||
this.$emit('input', value);
|
const steps = Math.round(newPos / lengthPerStep);
|
||||||
this.currentPosition = (this.value - this.min) / (this.max - this.min) * 100 + '%';
|
let value = steps * lengthPerStep * (this.max - this.min) * 0.01 + this.min;
|
||||||
if (!this.dragging) {
|
if (this.precision) {
|
||||||
if (this.value !== this.oldValue) {
|
value = parseFloat(value.toFixed(this.precision));
|
||||||
this.$emit('change', this.value);
|
}
|
||||||
this.oldValue = this.value;
|
this.$emit('input', value);
|
||||||
}
|
this.currentPosition = (this.value - this.min) / (this.max - this.min) * 100 + '%';
|
||||||
|
if (!this.dragging) {
|
||||||
|
if (this.value !== this.oldValue) {
|
||||||
|
this.$emit('change', this.value);
|
||||||
|
this.oldValue = this.value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in New Issue