Răsfoiți Sursa

Доработка NumInput

Book Pauk 5 ani în urmă
părinte
comite
d57f266789
1 a modificat fișierele cu 7 adăugiri și 3 ștergeri
  1. 7 3
      client/components/share/NumInput.vue

+ 7 - 3
client/components/share/NumInput.vue

@@ -50,6 +50,7 @@ const NumInputProps = Vue.extend({
         min: { type: Number, default: -Number.MAX_VALUE },
         min: { type: Number, default: -Number.MAX_VALUE },
         max: { type: Number, default: Number.MAX_VALUE },
         max: { type: Number, default: Number.MAX_VALUE },
         step: { type: Number, default: 1 },
         step: { type: Number, default: 1 },
+        digits: { type: Number, default: 0 },
     }
     }
 })
 })
 
 
@@ -58,7 +59,7 @@ export default @Component({
         filteredValue: function(newValue) {
         filteredValue: function(newValue) {
             if (this.validate(newValue)) {
             if (this.validate(newValue)) {
                 this.error = false;
                 this.error = false;
-                this.$emit('input', Number.parseFloat(newValue));
+                this.$emit('input', this.string2number(newValue));
             } else {
             } else {
                 this.error = true;
                 this.error = true;
             }
             }
@@ -73,12 +74,15 @@ class NumInput extends NumInputProps {
     error = false;
     error = false;
 
 
     created() {
     created() {
-        this.mask = '#'.repeat(this.max.toString().length);
         this.filteredValue = this.value;
         this.filteredValue = this.value;
     }
     }
 
 
+    string2number(value) {
+        return parseFloat(Number.parseFloat(value).toFixed(this.digits));
+    }
+
     validate(value) {
     validate(value) {
-        let n = Number.parseFloat(value);
+        let n = this.string2number(value);
         if (isNaN(n))
         if (isNaN(n))
             return false;
             return false;
         if (n < this.min)
         if (n < this.min)