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 +++++++++++++++++---- forms/numberStep/cNumberStep.scss | 7 +++++++ 2 files changed, 24 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) || diff --git a/forms/numberStep/cNumberStep.scss b/forms/numberStep/cNumberStep.scss index f08b3ae..d3c4c5f 100644 --- a/forms/numberStep/cNumberStep.scss +++ b/forms/numberStep/cNumberStep.scss @@ -48,5 +48,12 @@ color: #999; } } + &.on-empty { + .at-input-number { + input { + color: transparent; + } + } + } } } \ No newline at end of file -- Gitblit v1.9.1