feat: uniform param name

This commit is contained in:
水墨 2020-06-23 11:18:11 +08:00 committed by neverland
parent b788944307
commit eb0a4bb8f9
8 changed files with 31 additions and 29 deletions

View File

@ -140,7 +140,7 @@ export default {
| start-sale-num `v2.3.0` | Minimum quantity | _number_ | `1` | | start-sale-num `v2.3.0` | Minimum quantity | _number_ | `1` |
| properties `v2.4.2` | Goods properties | _array_ | - | | properties `v2.4.2` | Goods properties | _array_ | - |
| preview-on-click-image `v2.5.2` | Whether to preview image when click goods image | _boolean_ | `true` | | preview-on-click-image `v2.5.2` | Whether to preview image when click goods image | _boolean_ | `true` |
| isHideSkuHeaderImg `v2.9.0` | Whether to hide sku header image | _boolean_ | `false` | | showHeaderImage `v2.9.0` | Whether to display sku header image | _boolean_ | `true` |
| lazy-load | Whether to enable lazy loadshould register [Lazyload](#/en-US/lazyload) component | _boolean_ | `false` | | lazy-load | Whether to enable lazy loadshould register [Lazyload](#/en-US/lazyload) component | _boolean_ | `false` |
### Events ### Events
@ -204,7 +204,7 @@ sku: {
} }
], ],
k_s: 's1', k_s: 's1',
is_support_big_picture: true, // Whether to display large image mode large_picture_preview: true, // Whether to display large image mode
} }
], ],
list: [ list: [

View File

@ -144,7 +144,7 @@ export default {
| start-sale-num `v2.3.0` | 起售数量 | _number_ | `1` | | start-sale-num `v2.3.0` | 起售数量 | _number_ | `1` |
| properties `v2.4.2` | 商品属性 | _array_ | - | | properties `v2.4.2` | 商品属性 | _array_ | - |
| preview-on-click-image `v2.5.2` | 是否在点击商品图片时自动预览 | _boolean_ | `true` | | preview-on-click-image `v2.5.2` | 是否在点击商品图片时自动预览 | _boolean_ | `true` |
| isHideSkuHeaderImg `v2.9.0` | 是否隐藏 sku 头部图片 | _boolean_ | `false` | | showHeaderImage `v2.9.0` | 是否展示 sku 头部图片 | _boolean_ | `true` |
| lazy-load | 是否开启图片懒加载,须配合 [Lazyload](#/zh-CN/lazyload) 组件使用 | _boolean_ | `false` | | lazy-load | 是否开启图片懒加载,须配合 [Lazyload](#/zh-CN/lazyload) 组件使用 | _boolean_ | `false` |
### Events ### Events
@ -212,7 +212,7 @@ sku: {
} }
], ],
k_s: 's1', // skuKeyStrsku 组合列表(下方 list中当前类目对应的 key 值value 值会是从属于当前类目的一个规格值 id k_s: 's1', // skuKeyStrsku 组合列表(下方 list中当前类目对应的 key 值value 值会是从属于当前类目的一个规格值 id
is_support_big_picture: true, // 是否展示大图模式 large_picture_preview: true, // 是否展示大图模式
} }
], ],
// 所有 sku 的组合列表比如红色、M 码为一个 sku 组合红色、S 码为另一个组合 // 所有 sku 的组合列表比如红色、M 码为一个 sku 组合红色、S 码为另一个组合

View File

@ -98,9 +98,9 @@ export default createComponent({
type: Boolean, type: Boolean,
default: true, default: true,
}, },
isHideSkuHeaderImg: { showHeaderImage: {
type: Boolean, type: Boolean,
default: false, default: true,
}, },
lazyLoad: Boolean, lazyLoad: Boolean,
}, },
@ -621,7 +621,7 @@ export default createComponent({
selectedNum, selectedNum,
stepperTitle, stepperTitle,
selectedSkuComb, selectedSkuComb,
isHideSkuHeaderImg, showHeaderImage,
lazyLoad = false, lazyLoad = false,
} = this; } = this;
const slotsProps = { const slotsProps = {
@ -640,7 +640,7 @@ export default createComponent({
goods={goods} goods={goods}
skuEventBus={skuEventBus} skuEventBus={skuEventBus}
selectedSku={selectedSku} selectedSku={selectedSku}
supportBigPicture={isHideSkuHeaderImg} showHeaderImage={showHeaderImage}
> >
<template slot="sku-header-image-extra"> <template slot="sku-header-image-extra">
{slots('sku-header-image-extra')} {slots('sku-header-image-extra')}
@ -679,13 +679,13 @@ export default createComponent({
{this.skuTree.map((skuTreeItem) => ( {this.skuTree.map((skuTreeItem) => (
<SkuRow <SkuRow
skuRow={skuTreeItem} skuRow={skuTreeItem}
isShowBigPicture={skuTreeItem.is_support_big_picture} largePicturePreview={skuTreeItem.large_picture_preview}
hasScrollTab={skuTreeItem.v.length > 6} hasScrollTab={skuTreeItem.v.length > 6}
> >
{skuTreeItem.v.map((skuValue, itemIndex) => ( {skuTreeItem.v.map((skuValue, itemIndex) => (
<template <template
slot={ slot={
skuTreeItem.is_support_big_picture skuTreeItem.large_picture_preview
? Math.floor(itemIndex / 3) % 2 === 0 ? Math.floor(itemIndex / 3) % 2 === 0
? 'sku-item-group-one' ? 'sku-item-group-one'
: 'sku-item-group-two' : 'sku-item-group-two'
@ -698,7 +698,7 @@ export default createComponent({
selectedSku={selectedSku} selectedSku={selectedSku}
skuEventBus={skuEventBus} skuEventBus={skuEventBus}
skuKeyStr={skuTreeItem.k_s} skuKeyStr={skuTreeItem.k_s}
isShowBigPicture={skuTreeItem.is_support_big_picture} largePicturePreview={skuTreeItem.large_picture_preview}
lazyLoad={lazyLoad} lazyLoad={lazyLoad}
></SkuRowItem> ></SkuRowItem>
</template> </template>

View File

@ -13,7 +13,7 @@ export type SkuHeaderProps = {
goods: SkuGoodsData; goods: SkuGoodsData;
skuEventBus: Vue; skuEventBus: Vue;
selectedSku: SelectedSkuData; selectedSku: SelectedSkuData;
supportBigPicture: boolean; showHeaderImage: boolean;
}; };
export type SkuHeaderSlots = DefaultSlots & { export type SkuHeaderSlots = DefaultSlots & {
@ -55,7 +55,7 @@ function SkuHeader(
goods, goods,
skuEventBus, skuEventBus,
selectedSku, selectedSku,
supportBigPicture = false, showHeaderImage = true,
} = props; } = props;
const goodsImg = getSkuImg(sku, selectedSku) || goods.picture; const goodsImg = getSkuImg(sku, selectedSku) || goods.picture;
@ -64,7 +64,7 @@ function SkuHeader(
}; };
return ( return (
<div class={[bem(), BORDER_BOTTOM]} {...inherit(ctx)}> <div class={[bem(), BORDER_BOTTOM]} {...inherit(ctx)}>
{!supportBigPicture && ( {showHeaderImage && (
<div class={bem('img-wrap')} onClick={previewImage}> <div class={bem('img-wrap')} onClick={previewImage}>
<img src={goodsImg} /> <img src={goodsImg} />
{slots['sku-header-image-extra']?.()} {slots['sku-header-image-extra']?.()}
@ -73,7 +73,7 @@ function SkuHeader(
<div <div
class={[ class={[
bem('goods-info'), bem('goods-info'),
supportBigPicture && bem('goods-info--no-padding'), !showHeaderImage && bem('goods-info--no-padding'),
]} ]}
> >
{slots.default?.()} {slots.default?.()}
@ -87,7 +87,7 @@ SkuHeader.props = {
goods: Object, goods: Object,
skuEventBus: Object, skuEventBus: Object,
selectedSku: Object, selectedSku: Object,
supportBigPicture: Boolean, showHeaderImage: Boolean,
}; };
export default createComponent<SkuHeaderProps>(SkuHeader); export default createComponent<SkuHeaderProps>(SkuHeader);

View File

@ -9,7 +9,7 @@ const [createComponent, bem, t] = createNamespace('sku-row');
export default createComponent({ export default createComponent({
mixins: [ mixins: [
BindEventMixin(function (bind) { BindEventMixin(function (bind) {
if (!(this.isShowBigPicture && this.hasScrollTab)) { if (!(this.largePicturePreview && this.hasScrollTab)) {
return false; return false;
} }
@ -22,7 +22,7 @@ export default createComponent({
], ],
props: { props: {
skuRow: Object, skuRow: Object,
isShowBigPicture: { largePicturePreview: {
type: Boolean, type: Boolean,
default: false, default: false,
}, },
@ -41,7 +41,7 @@ export default createComponent({
}, },
computed: { computed: {
scrollStyle() { scrollStyle() {
if (!(this.isShowBigPicture && this.hasScrollTab)) { if (!(this.largePicturePreview && this.hasScrollTab)) {
return false; return false;
} }
this.tranX = this.present * 20; this.tranX = this.present * 20;
@ -62,7 +62,7 @@ export default createComponent({
}, },
mounted() {}, mounted() {},
render() { render() {
const { skuRow, isShowBigPicture, hasScrollTab } = this; const { skuRow, largePicturePreview, hasScrollTab } = this;
const multipleNode = skuRow.is_multiple && ( const multipleNode = skuRow.is_multiple && (
<span class={bem('title-multiple')}>{t('multiple')}</span> <span class={bem('title-multiple')}>{t('multiple')}</span>
); );
@ -88,13 +88,15 @@ export default createComponent({
</div> </div>
); );
return ( return (
<div class={[bem(), BORDER_BOTTOM, isShowBigPicture && bem('picture')]}> <div
class={[bem(), BORDER_BOTTOM, largePicturePreview && bem('picture')]}
>
<div class={bem('title')}> <div class={bem('title')}>
{skuRow.k} {skuRow.k}
{multipleNode} {multipleNode}
</div> </div>
{isShowBigPicture ? SkuContent : this.slots()} {largePicturePreview ? SkuContent : this.slots()}
{isShowBigPicture && hasScrollTab && SkuScroll} {largePicturePreview && hasScrollTab && SkuScroll}
</div> </div>
); );
}, },

View File

@ -13,7 +13,7 @@ export default createComponent({
type: Array, type: Array,
default: () => [], default: () => [],
}, },
isShowBigPicture: Boolean, largePicturePreview: Boolean,
lazyLoad: Boolean, lazyLoad: Boolean,
}, },
@ -47,7 +47,7 @@ export default createComponent({
render() { render() {
const choosed = this.skuValue.id === this.selectedSku[this.skuKeyStr]; const choosed = this.skuValue.id === this.selectedSku[this.skuKeyStr];
const imgUrl = this.skuValue.imgUrl || this.skuValue.img_url; const imgUrl = this.skuValue.imgUrl || this.skuValue.img_url;
const BEM_NAME = this.isShowBigPicture const BEM_NAME = this.largePicturePreview
? 'van-sku-row__picture-item' ? 'van-sku-row__picture-item'
: 'van-sku-row__item'; : 'van-sku-row__item';
@ -60,7 +60,7 @@ export default createComponent({
]} ]}
onClick={this.onSelect} onClick={this.onSelect}
> >
{this.isShowBigPicture && ( {this.largePicturePreview && (
<img <img
class={`${BEM_NAME}-img-icon`} class={`${BEM_NAME}-img-icon`}
src="https://img.yzcdn.cn/upload_files/2020/06/18/Fn6Qf0fGRFyuD8xh0Gi1w2ng59G1.png" src="https://img.yzcdn.cn/upload_files/2020/06/18/Fn6Qf0fGRFyuD8xh0Gi1w2ng59G1.png"
@ -68,7 +68,7 @@ export default createComponent({
/> />
)} )}
{imgUrl && {imgUrl &&
(this.isShowBigPicture && this.lazyLoad ? ( (this.largePicturePreview && this.lazyLoad ? (
<img class={`${BEM_NAME}-img`} src={imgUrl} vLazy={imgUrl} /> <img class={`${BEM_NAME}-img`} src={imgUrl} vLazy={imgUrl} />
) : ( ) : (
<img class={`${BEM_NAME}-img`} src={imgUrl} /> <img class={`${BEM_NAME}-img`} src={imgUrl} />

View File

@ -35,7 +35,7 @@ export const skuData = {
], ],
k_s: 's1', k_s: 's1',
count: 2, count: 2,
is_support_big_picture: true, large_picture_preview: true,
}, },
{ {
k: '尺寸', k: '尺寸',

View File

@ -157,7 +157,7 @@
:message-config="messageConfig" :message-config="messageConfig"
:custom-sku-validator="customSkuValidator" :custom-sku-validator="customSkuValidator"
:properties="skuData.properties" :properties="skuData.properties"
:is-hide-sku-header-img="true" :show-header-image="false"
disable-stepper-input disable-stepper-input
reset-stepper-on-hide reset-stepper-on-hide
safe-area-inset-bottom safe-area-inset-bottom