Prechádzať zdrojové kódy

Slider: fix step not updating precision

Gabriel Oliveira 8 rokov pred
rodič
commit
75e5b0ecea
1 zmenil súbory, kde vykonal 13 pridanie a 5 odobranie
  1. 13 5
      packages/slider/src/main.vue

+ 13 - 5
packages/slider/src/main.vue

@@ -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>