From eb514affa9174c7f931b3e71435e7ee819e2d4d0 Mon Sep 17 00:00:00 2001
From: Tevin <tingquanren@163.com>
Date: Fri, 21 Jan 2022 16:40:13 +0800
Subject: [PATCH] 数值步长输入组件,修复空值时显示异常的问题

---
 forms/numberStep/CNumberStep.vue |   21 +++++++++++++++++----
 1 files changed, 17 insertions(+), 4 deletions(-)

diff --git a/forms/numberStep/CNumberStep.vue b/forms/numberStep/CNumberStep.vue
index 52746e9..0d49659 100644
--- a/forms/numberStep/CNumberStep.vue
+++ b/forms/numberStep/CNumberStep.vue
@@ -15,7 +15,7 @@
         />
         <view
             class="c-number-step-step"
-            :class="unit?'on-unit':''"
+            :class="[unit?'on-unit':'', isEmpty?'on-empty':'']"
             ref="number"
         >
             <AtInputNumber
@@ -72,13 +72,26 @@
     data() {
         return {};
     },
-    computed: {},
+    computed: {
+        // 空值判断,弥补空值时显示最小值的问题
+        isEmpty() {
+            const curVal = this.itemRes.formData[this.itemRes.name];
+            if (typeof curVal === 'undefined') {
+                return true;
+            } else if (!curVal && curVal !== 0) {
+                return true;
+            } else {
+                return false;
+            }
+        },
+    },
     methods: {
         handleChange(val) {
             // 奇偶修正模式
             if (this.correct) {
-                const lastValue =
-                    this.itemRes.formData[this.itemRes.name] || this.range[0];
+                const lastValue = this.isEmpty
+                    ? this.range[0]
+                    : this.itemRes.formData[this.itemRes.name];
                 let nextValue = val;
                 if (
                     (this.correct === 'odd' && nextValue % 2 === 0) ||

--
Gitblit v1.9.1