From 309cc3fe6303d8464951063e89fc9d623915501e Mon Sep 17 00:00:00 2001
From: zhangwei <1504152376@qq.com>
Date: 星期一, 10 三月 2025 16:23:35 +0800
Subject: [PATCH] -
---
src/uni_modules/uview-plus/components/u-number-box/u-number-box.vue | 77 +++++++++++++++++++++-----------------
1 files changed, 43 insertions(+), 34 deletions(-)
diff --git a/src/uni_modules/uview-plus/components/u-number-box/u-number-box.vue b/src/uni_modules/uview-plus/components/u-number-box/u-number-box.vue
index c0afaf9..6f4c19a 100644
--- a/src/uni_modules/uview-plus/components/u-number-box/u-number-box.vue
+++ b/src/uni_modules/uview-plus/components/u-number-box/u-number-box.vue
@@ -5,12 +5,12 @@
@tap.stop="clickHandler('minus')"
@touchstart="onTouchStart('minus')"
@touchend.stop="clearTimeout"
- v-if="showMinus && $slots.minus"
+ v-if="showMinus && !hideMinus && $slots.minus"
>
<slot name="minus" />
</view>
<view
- v-else-if="showMinus"
+ v-else-if="showMinus && !hideMinus"
class="u-number-box__minus cursor-pointer"
@tap.stop="clickHandler('minus')"
@touchstart="onTouchStart('minus')"
@@ -29,36 +29,38 @@
></u-icon>
</view>
- <slot name="input">
- <!-- #ifdef MP-WEIXIN -->
- <input
- :disabled="disabledInput || disabled"
- :cursor-spacing="getCursorSpacing"
- :class="{ 'u-number-box__input--disabled': disabled || disabledInput }"
- :value="currentValue"
- class="u-number-box__input"
- @blur="onBlur"
- @focus="onFocus"
- @input="onInput"
- type="number"
- :style="[inputStyle]"
- />
- <!-- #endif -->
- <!-- #ifndef MP-WEIXIN -->
- <input
- :disabled="disabledInput || disabled"
- :cursor-spacing="getCursorSpacing"
- :class="{ 'u-number-box__input--disabled': disabled || disabledInput }"
- v-model="currentValue"
- class="u-number-box__input"
- @blur="onBlur"
- @focus="onFocus"
- @input="onInput"
- type="number"
- :style="[inputStyle]"
- />
- <!-- #endif -->
- </slot>
+ <template v-if="!hideMinus">
+ <slot name="input">
+ <!-- #ifdef MP-WEIXIN -->
+ <input
+ :disabled="disabledInput || disabled"
+ :cursor-spacing="getCursorSpacing"
+ :class="{ 'u-number-box__input--disabled': disabled || disabledInput }"
+ :value="currentValue"
+ class="u-number-box__input"
+ @blur="onBlur"
+ @focus="onFocus"
+ @input="onInput"
+ type="number"
+ :style="[inputStyle]"
+ />
+ <!-- #endif -->
+ <!-- #ifndef MP-WEIXIN -->
+ <input
+ :disabled="disabledInput || disabled"
+ :cursor-spacing="getCursorSpacing"
+ :class="{ 'u-number-box__input--disabled': disabled || disabledInput }"
+ v-model="currentValue"
+ class="u-number-box__input"
+ @blur="onBlur"
+ @focus="onFocus"
+ @input="onInput"
+ type="number"
+ :style="[inputStyle]"
+ />
+ <!-- #endif -->
+ </slot>
+ </template>
<view
class="u-number-box__slot cursor-pointer"
@tap.stop="clickHandler('plus')"
@@ -164,6 +166,9 @@
// #endif
},
computed: {
+ hideMinus() {
+ return this.currentValue == 0 && this.miniMode == true
+ },
getCursorSpacing() {
// 鍒ゆ柇浼犲叆鐨勫崟浣嶏紝濡傛灉涓簆x鍗曚綅锛岄渶瑕佽浆鎴恜x
return getPx(this.cursorSpacing)
@@ -173,8 +178,10 @@
return (type) => {
const style = {
backgroundColor: this.bgColor,
+ width: addUnit(this.buttonWidth),
height: addUnit(this.buttonSize),
- color: this.color
+ color: this.color,
+ borderRadius: this.buttonRadius
}
if (this.isDisabled(type)) {
style.backgroundColor = '#f7f8fa'
@@ -187,7 +194,7 @@
const disabled = this.disabled || this.disabledInput
const style = {
color: this.color,
- backgroundColor: this.bgColor,
+ backgroundColor: this.inputBgColor || this.bgColor,
height: addUnit(this.buttonSize),
width: addUnit(this.inputWidth)
}
@@ -306,6 +313,8 @@
// 涓虹┖杩斿洖
if (value === '') return
let formatted = this.filter(value)
+ // https://github.com/ijry/uview-plus/issues/613
+ this.emitChange(value);
// 鏈�澶у厑璁哥殑灏忔暟闀垮害
if (this.decimalLength !== null && formatted.indexOf('.') !== -1) {
const pair = formatted.split('.');
--
Gitblit v1.9.1