Slider: fix step not updating precision

This commit is contained in:
Gabriel Oliveira 2017-03-13 14:40:20 -03:00 committed by 杨奕
parent 67d8eae691
commit 75e5b0ecea

View File

@ -119,6 +119,10 @@
this.setValues();
},
step() {
this.setPrecision();
},
dragging(val) {
if (!val) {
this.setValues();
@ -210,6 +214,14 @@
if (this.disabled || this.dragging) return;
const sliderOffsetLeft = this.$refs.slider.getBoundingClientRect().left;
this.setPosition((event.clientX - sliderOffsetLeft) / this.$sliderWidth * 100);
},
setPrecision() {
let precisions = [this.min, this.max, this.step].map(item => {
let decimal = ('' + item).split('.')[1];
return decimal ? decimal.length : 0;
});
this.precision = Math.max.apply(null, precisions);
}
},
@ -274,11 +286,7 @@
}
this.oldValue = this.firstValue;
}
let precisions = [this.min, this.max, this.step].map(item => {
let decimal = ('' + item).split('.')[1];
return decimal ? decimal.length : 0;
});
this.precision = Math.max.apply(null, precisions);
this.setPrecision();
}
};
</script>