[new feature] sku组件增加步进器相关自定义配置 (#600)

This commit is contained in:
wny
2018-02-01 21:43:36 +08:00
committed by GitHub
parent 1b85c09a75
commit 4270354a67
8 changed files with 214 additions and 3 deletions
+14 -1
View File
@@ -66,6 +66,7 @@
:quota-used="quotaUsed"
:disable-stepper-input="disableStepperInput"
:hide-stock="hideStock"
:custom-stepper-config="customStepperConfig"
/>
</slot>
<!-- sku-messages -->
@@ -159,6 +160,10 @@ export default create({
messagePlaceholderMap: {
type: Object,
default: () => ({})
},
customStepperConfig: {
type: Object,
default: () => ({})
}
},
@@ -328,7 +333,15 @@ export default create({
this.selectedNum = num;
},
onOverLimit({ action, limitType, quota, quotaUsed }) {
onOverLimit(data) {
const { action, limitType, quota, quotaUsed } = data;
const { handleOverLimit } = this.customStepperConfig;
if (handleOverLimit) {
handleOverLimit(data);
return;
}
if (action === 'minus') {
Toast(this.$t('least'));
} else if (action === 'plus') {
+15 -2
View File
@@ -12,7 +12,7 @@
/>
</div>
<div v-if="!hideStock" class="van-sku__stock">{{ $t('remain', stock) }}</div>
<div v-if="quota > 0" class="van-sku__quota">{{ $t('quota', quota) }}</div>
<div v-if="quotaText" class="van-sku__quota">{{ quotaText }}</div>
</div>
</template>
@@ -40,7 +40,8 @@ export default create({
quota: Number,
quotaUsed: Number,
hideStock: Boolean,
disableStepperInput: Boolean
disableStepperInput: Boolean,
customStepperConfig: Object
},
data() {
@@ -69,6 +70,18 @@ export default create({
}
return this.skuStockNum;
},
quotaText() {
const { quotaText } = this.customStepperConfig;
let text = '';
if (quotaText) {
text = quotaText;
} else if (this.quota > 0) {
text = this.$t('quota', this.quota);
}
return text;
},
stepperLimit() {
const quotaLimit = this.quota - this.quotaUsed;
let limit;
+4
View File
@@ -2,3 +2,7 @@ export const LIMIT_TYPE = {
QUOTA_LIMIT: 0,
STOCK_LIMIT: 1
};
export default {
LIMIT_TYPE
};
+2
View File
@@ -6,6 +6,7 @@ import SkuStepper from './components/SkuStepper';
import SkuRow from './components/SkuRow';
import SkuRowItem from './components/SkuRowItem';
import skuHelper from './utils/skuHelper';
import constants from './constants';
Sku.SkuActions = SkuActions;
Sku.SkuHeader = SkuHeader;
@@ -14,5 +15,6 @@ Sku.SkuStepper = SkuStepper;
Sku.SkuRow = SkuRow;
Sku.SkuRowItem = SkuRowItem;
Sku.skuHelper = skuHelper;
Sku.skuConstants = constants;
export default Sku;