Browse Source

chroe: add stepper theme and watch value

famanoder 7 years ago
parent
commit
20b1b7ab89

+ 12 - 0
src/packages/stepper/demo.vue

@@ -6,6 +6,9 @@
         <span slot="title">
         <span slot="title">
           <nut-stepper :value.sync="val1"></nut-stepper>
           <nut-stepper :value.sync="val1"></nut-stepper>
         </span>
         </span>
+        <span slot="desc">
+          value: {{val1}} <button @click="reduce">-</button> <button @click="add">+</button> 
+        </span>
       </nut-cell>
       </nut-cell>
     </div>
     </div>
     <h4>设置最大最小值</h4>
     <h4>设置最大最小值</h4>
@@ -48,6 +51,7 @@
         </span>
         </span>
       </nut-cell>
       </nut-cell>
     </div>
     </div>
+    
   </div>
   </div>
 </template>
 </template>
 
 
@@ -63,6 +67,14 @@ export default {
       val6: 0
       val6: 0
     }
     }
   },
   },
+  methods: {
+    add() {
+      this.val1 = Number(this.val1) + 1;
+    },
+    reduce() {
+      this.val1 = Math.max(Number(this.val1) - 1, 0);
+    }
+  },
 };
 };
 </script>
 </script>
 
 

+ 3 - 1
src/packages/stepper/stepper.scss

@@ -66,7 +66,8 @@
         align-items: center;
         align-items: center;
         justify-content: center;
         justify-content: center;
         svg{
         svg{
-            width: 11px;
+            width: $stepperbar-width;
+            fill: $stepperbar-color;
         }
         }
     }
     }
     input{
     input{
@@ -79,6 +80,7 @@
         box-sizing: border-box; 
         box-sizing: border-box; 
         outline: none;
         outline: none;
         font-family: initial;
         font-family: initial;
+        color: $stepper-color;
     }
     }
     .nut-stepper-grey{
     .nut-stepper-grey{
         color: #ececee;
         color: #ececee;

+ 6 - 0
src/packages/stepper/stepper.vue

@@ -88,6 +88,12 @@ export default {
             return Math.max(v, min);
             return Math.max(v, min);
         }
         }
     },
     },
+    watch: {
+        value(v, ov) {
+            this.num = v;
+            this.$emit('change', this.num);
+        }
+    },
     methods: {
     methods: {
         numchange(e) {
         numchange(e) {
             let v = e.target.value;
             let v = e.target.value;

+ 5 - 1
src/styles/variable.scss

@@ -88,4 +88,8 @@ $zindex-actionsheet: 10001 !default;
 $zindex-dialog: 10000 !default;
 $zindex-dialog: 10000 !default;
 $zindex-picker: 10050 !default;
 $zindex-picker: 10050 !default;
 // ---- Assets path ----
 // ---- Assets path ----
-$assetsPath:'../../assets' !default;
+$assetsPath:'../../assets' !default;
+// ---- Stepper ----
+$stepper-color: #333 !default;
+$stepperbar-width: 11px !default;
+$stepperbar-color: #333 !default;