From 92a0e632c450f0e1009cba56a245e46bdab7b437 Mon Sep 17 00:00:00 2001 From: chenjiahan Date: Tue, 23 Jun 2020 11:57:07 +0800 Subject: [PATCH] chore(Sku): prettier code --- src/sku/README.md | 2 +- src/sku/Sku.js | 28 +++++------ src/sku/components/SkuRowItem.js | 48 +++++++++++------- src/sku/demo/index.vue | 52 +++++++++----------- src/sku/test/__snapshots__/demo.spec.js.snap | 2 +- 5 files changed, 68 insertions(+), 64 deletions(-) diff --git a/src/sku/README.md b/src/sku/README.md index 8fe68c4bf..f9f34c080 100644 --- a/src/sku/README.md +++ b/src/sku/README.md @@ -45,7 +45,7 @@ export default { }; ``` -### Custom Stepper Config +### Custom Stepper ```html (this.selectedProp[it.k_id] || []).length < 1 - ) - ) { - return false; - } - return true; + return !this.propList.some( + (it) => (this.selectedProp[it.k_id] || []).length < 1 + ); }, isSkuEmpty() { @@ -614,6 +610,7 @@ export default createComponent({ sku, goods, price, + lazyLoad, originPrice, skuEventBus, selectedSku, @@ -622,8 +619,8 @@ export default createComponent({ stepperTitle, selectedSkuComb, showHeaderImage, - lazyLoad = false, } = this; + const slotsProps = { price, originPrice, @@ -632,6 +629,7 @@ export default createComponent({ selectedSku, selectedSkuComb, }; + const slots = (name) => this.slots(name, slotsProps); const Header = slots('sku-header') || ( @@ -694,12 +692,12 @@ export default createComponent({ > ))} diff --git a/src/sku/components/SkuRowItem.js b/src/sku/components/SkuRowItem.js index ae6e43d78..dc4210770 100644 --- a/src/sku/components/SkuRowItem.js +++ b/src/sku/components/SkuRowItem.js @@ -5,19 +5,23 @@ const [createComponent] = createNamespace('sku-row-item'); export default createComponent({ props: { + lazyLoad: Boolean, skuValue: Object, skuKeyStr: String, skuEventBus: Object, selectedSku: Object, + largePicturePreview: Boolean, skuList: { type: Array, default: () => [], }, - largePicturePreview: Boolean, - lazyLoad: Boolean, }, computed: { + imgUrl() { + return this.skuValue.imgUrl || this.skuValue.img_url; + }, + choosable() { return isSkuChoosable(this.skuList, this.selectedSku, { key: this.skuKeyStr, @@ -35,45 +39,51 @@ export default createComponent({ }); } }, + onPreviewImg(event) { event.stopPropagation(); - this.skuEventBus.$emit( - 'sku:previewImage', - this.skuValue.imgUrl || this.skuValue.img_url - ); + this.skuEventBus.$emit('sku:previewImage', this.imgUrl); + }, + + genImage(classPrefix) { + const { imgUrl } = this; + + if (imgUrl && this.largePicturePreview) { + if (this.lazyLoad) { + return ( + + ); + } + + return ; + } }, }, render() { const choosed = this.skuValue.id === this.selectedSku[this.skuKeyStr]; - const imgUrl = this.skuValue.imgUrl || this.skuValue.img_url; - const BEM_NAME = this.largePicturePreview + const classPrefix = this.largePicturePreview ? 'van-sku-row__picture-item' : 'van-sku-row__item'; return ( {this.largePicturePreview && ( )} - {imgUrl && - (this.largePicturePreview && this.lazyLoad ? ( - - ) : ( - - ))} - {this.skuValue.name} + {this.genImage(classPrefix)} + {this.skuValue.name} ); }, diff --git a/src/sku/demo/index.vue b/src/sku/demo/index.vue index 0b7affd4c..dcabd8117 100644 --- a/src/sku/demo/index.vue +++ b/src/sku/demo/index.vue @@ -1,21 +1,20 @@