From c93319a4c00ee5c7109e3828f6a0386e2035d121 Mon Sep 17 00:00:00 2001 From: neverland Date: Fri, 26 Jun 2020 21:04:31 +0800 Subject: [PATCH] refactor(Sku): header image (#6614) --- src/sku/Sku.js | 32 ++++++++++++++++---------------- src/sku/components/SkuHeader.tsx | 17 ++++++++++++----- src/sku/index.less | 16 ++-------------- 3 files changed, 30 insertions(+), 35 deletions(-) diff --git a/src/sku/Sku.js b/src/sku/Sku.js index a1ec24f5b..5a20e3302 100644 --- a/src/sku/Sku.js +++ b/src/sku/Sku.js @@ -74,6 +74,22 @@ export default createComponent({ type: Boolean, default: true, }, + customStepperConfig: { + type: Object, + default: () => ({}), + }, + showHeaderImage: { + type: Boolean, + default: true, + }, + previewOnClickImage: { + type: Boolean, + default: true, + }, + safeAreaInsetBottom: { + type: Boolean, + default: true, + }, bodyOffsetTop: { type: Number, default: 200, @@ -87,22 +103,6 @@ export default createComponent({ uploadMaxSize: 5, }), }, - customStepperConfig: { - type: Object, - default: () => ({}), - }, - previewOnClickImage: { - type: Boolean, - default: true, - }, - safeAreaInsetBottom: { - type: Boolean, - default: true, - }, - showHeaderImage: { - type: Boolean, - default: true, - }, }, data() { diff --git a/src/sku/components/SkuHeader.tsx b/src/sku/components/SkuHeader.tsx index 54c76103f..705ab59d0 100644 --- a/src/sku/components/SkuHeader.tsx +++ b/src/sku/components/SkuHeader.tsx @@ -3,6 +3,9 @@ import { createNamespace } from '../../utils'; import { inherit } from '../../utils/functional'; import { BORDER_BOTTOM } from '../../utils/constant'; +// Components +import Image from '../../image'; + // Types import Vue, { CreateElement, RenderContext } from 'vue/types'; import { DefaultSlots, ScopedSlot } from '../../utils/types'; @@ -58,19 +61,23 @@ function SkuHeader( showHeaderImage = true, } = props; - const goodsImg = getSkuImg(sku, selectedSku) || goods.picture; + const imgUrl = getSkuImg(sku, selectedSku) || goods.picture; const previewImage = () => { - skuEventBus.$emit('sku:previewImage', goodsImg); + skuEventBus.$emit('sku:previewImage', imgUrl); }; return (
{showHeaderImage && ( -
- + {slots['sku-header-image-extra']?.()} -
+ )}
{slots.default?.()}
diff --git a/src/sku/index.less b/src/sku/index.less index 0100529ee..2c0539aeb 100644 --- a/src/sku/index.less +++ b/src/sku/index.less @@ -29,23 +29,11 @@ margin: 0 @padding-md; &__img-wrap { - position: relative; width: 96px; height: 96px; margin: @padding-sm @padding-sm @padding-sm 0; - background: @background-color; - - img { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - max-width: 100%; - max-height: 100%; - margin: auto; - border-radius: @border-radius-md; - } + overflow: hidden; + border-radius: @border-radius-md; } &__goods-info {