feat: 增加单独禁用stepper input功能

This commit is contained in:
niunai
2017-09-26 16:57:53 +08:00
parent b632fa03c4
commit 178656e0fb
5 changed files with 47 additions and 8 deletions
+12 -1
View File
@@ -2,7 +2,14 @@
<div class="van-sku-stepper-stock">
<div class="van-sku-stepper-container">
<div class="van-sku__stepper-title">{{ stepperTitle }}</div>
<van-stepper v-model="currentNum" :min="1" :max="stepperLimit" class="van-sku__stepper" @overlimit="handleOverLimit"></van-stepper>
<van-stepper
class="van-sku__stepper"
v-model="currentNum"
:min="1"
:max="stepperLimit"
:disableInput="disableStepperInput"
@overlimit="handleOverLimit">
</van-stepper>
</div>
<div v-if="!hideStock" class="van-sku__stock">剩余{{ stock }}</div>
<div v-if="quota > 0" class="van-sku__quota">每人限购{{ quota }}</div>
@@ -34,6 +41,10 @@ export default {
type: Boolean,
default: false
},
disableStepperInput: {
type: Boolean,
default: false
},
stepperTitle: {
type: String,
default: DEFAULT_BUY_TEXT
+2
View File
@@ -45,6 +45,7 @@
:skuStockNum="sku.stock_num"
:quota="quota"
:quotaUsed="quotaUsed"
:disableStepperInput="disableStepperInput"
:hideStock="hideStock">
</van-sku-stepper>
</slot>
@@ -133,6 +134,7 @@ export default {
default: 200
},
resetStepperOnHide: Boolean,
disableStepperInput: Boolean,
messagePlaceholderMap: {
type: Object,
default() {
+10 -4
View File
@@ -8,11 +8,11 @@
}">
</button>
<input
type="text"
type="number"
class="van-stepper__input"
:value="currentValue"
@input="handleInputChange"
:disabled="disabled">
:disabled="disabled || disableInput">
<button
@click="handleChange('plus')"
class="van-stepper__stepper van-stepper__plus"
@@ -42,6 +42,7 @@ export default {
default: 1
},
disabled: Boolean,
disableInput: Boolean,
defaultValue: {
type: [String, Number],
default: 1
@@ -91,8 +92,13 @@ export default {
methods: {
// 纠正value值
correctValue(value) {
value = Math.max(this.min, value);
value = Math.min(this.max, value);
if (Number.isNaN(value)) {
value = this.min;
} else {
value = Math.max(this.min, value);
value = Math.min(this.max, value);
}
return value;
},
handleInputChange(event) {