mirror of
https://gitee.com/vant-contrib/vant.git
synced 2025-04-24 10:20:19 +08:00
feat(Sku): use popup close icon (#4386)
This commit is contained in:
parent
075edbfd4b
commit
42d408dc2c
@ -260,7 +260,6 @@ export default createComponent({
|
|||||||
const skuEventBus = new Vue();
|
const skuEventBus = new Vue();
|
||||||
this.skuEventBus = skuEventBus;
|
this.skuEventBus = skuEventBus;
|
||||||
|
|
||||||
skuEventBus.$on('sku:close', this.onClose);
|
|
||||||
skuEventBus.$on('sku:select', this.onSelect);
|
skuEventBus.$on('sku:select', this.onSelect);
|
||||||
skuEventBus.$on('sku:numChange', this.onNumChange);
|
skuEventBus.$on('sku:numChange', this.onNumChange);
|
||||||
skuEventBus.$on('sku:previewImage', this.onPreviewImage);
|
skuEventBus.$on('sku:previewImage', this.onPreviewImage);
|
||||||
@ -339,10 +338,6 @@ export default createComponent({
|
|||||||
return t('selectSku');
|
return t('selectSku');
|
||||||
},
|
},
|
||||||
|
|
||||||
onClose() {
|
|
||||||
this.show = false;
|
|
||||||
},
|
|
||||||
|
|
||||||
onSelect(skuValue) {
|
onSelect(skuValue) {
|
||||||
// 点击已选中的sku时则取消选中
|
// 点击已选中的sku时则取消选中
|
||||||
this.selectedSku =
|
this.selectedSku =
|
||||||
@ -547,11 +542,13 @@ export default createComponent({
|
|||||||
return (
|
return (
|
||||||
<Popup
|
<Popup
|
||||||
vModel={this.show}
|
vModel={this.show}
|
||||||
|
round
|
||||||
|
closeable
|
||||||
position="bottom"
|
position="bottom"
|
||||||
|
closeIcon="clear"
|
||||||
class="van-sku-container"
|
class="van-sku-container"
|
||||||
getContainer={this.getContainer}
|
getContainer={this.getContainer}
|
||||||
closeOnClickOverlay={this.closeOnClickOverlay}
|
closeOnClickOverlay={this.closeOnClickOverlay}
|
||||||
round
|
|
||||||
>
|
>
|
||||||
{Header}
|
{Header}
|
||||||
<div class="van-sku-body" style={this.bodyStyle}>
|
<div class="van-sku-body" style={this.bodyStyle}>
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
import { createNamespace } from '../../utils';
|
import { createNamespace } from '../../utils';
|
||||||
import { inherit } from '../../utils/functional';
|
import { inherit } from '../../utils/functional';
|
||||||
import { BORDER_BOTTOM } from '../../utils/constant';
|
import { BORDER_BOTTOM } from '../../utils/constant';
|
||||||
import Icon from '../../icon';
|
|
||||||
|
|
||||||
// Types
|
// Types
|
||||||
import Vue, { CreateElement, RenderContext } from 'vue/types';
|
import Vue, { CreateElement, RenderContext } from 'vue/types';
|
||||||
@ -53,16 +52,7 @@ function SkuHeader(
|
|||||||
<div class={bem('img-wrap')} onClick={previewImage}>
|
<div class={bem('img-wrap')} onClick={previewImage}>
|
||||||
<img src={goodsImg} />
|
<img src={goodsImg} />
|
||||||
</div>
|
</div>
|
||||||
<div class={bem('goods-info')}>
|
<div class={bem('goods-info')}>{slots.default && slots.default()}</div>
|
||||||
{slots.default && slots.default()}
|
|
||||||
<Icon
|
|
||||||
name="clear"
|
|
||||||
class="van-sku__close-icon"
|
|
||||||
onClick={() => {
|
|
||||||
skuEventBus.$emit('sku:close');
|
|
||||||
}}
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -11,6 +11,12 @@
|
|||||||
overflow-y: visible;
|
overflow-y: visible;
|
||||||
font-size: @font-size-md;
|
font-size: @font-size-md;
|
||||||
background: @white;
|
background: @white;
|
||||||
|
|
||||||
|
.van-popup__close-icon {
|
||||||
|
top: @padding-sm;
|
||||||
|
color: @sku-icon-gray-color;
|
||||||
|
font-size: 20px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&-body {
|
&-body {
|
||||||
@ -103,15 +109,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&__close-icon {
|
|
||||||
position: absolute;
|
|
||||||
top: @padding-sm;
|
|
||||||
right: @padding-md;
|
|
||||||
color: @sku-icon-gray-color;
|
|
||||||
font-size: 20px;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
&-group-container {
|
&-group-container {
|
||||||
margin-left: @padding-md;
|
margin-left: @padding-md;
|
||||||
padding: @padding-sm 0 2px;
|
padding: @padding-sm 0 2px;
|
||||||
|
@ -4,24 +4,18 @@ exports[`renders demo correctly 1`] = `
|
|||||||
<div>
|
<div>
|
||||||
<div>
|
<div>
|
||||||
<div>
|
<div>
|
||||||
<div class="van-sticky"><button class="van-button van-button--primary van-button--normal" style="margin-left: 15px;"><span class="van-button__text">
|
<div class="van-sticky"><button class="van-button van-button--primary van-button--normal" style="margin-left: 15px;"><span class="van-button__text">基础用法</span></button></div>
|
||||||
基础用法
|
|
||||||
</span></button></div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<div style="height: 0px;">
|
<div style="height: 0px;">
|
||||||
<div class="van-sticky van-sticky--fixed" style="top: 50px;"><button class="van-button van-button--info van-button--normal" style="margin-left: 115px;"><span class="van-button__text">
|
<div class="van-sticky van-sticky--fixed" style="top: 50px;"><button class="van-button van-button--info van-button--normal" style="margin-left: 115px;"><span class="van-button__text">吸顶距离</span></button></div>
|
||||||
吸顶距离
|
|
||||||
</span></button></div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<div style="height: 150px; background-color: rgb(255, 255, 255);">
|
<div style="height: 150px; background-color: rgb(255, 255, 255);">
|
||||||
<div>
|
<div>
|
||||||
<div class="van-sticky"><button class="van-button van-button--warning van-button--normal" style="margin-left: 215px;"><span class="van-button__text">
|
<div class="van-sticky"><button class="van-button van-button--warning van-button--normal" style="margin-left: 215px;"><span class="van-button__text">指定容器</span></button></div>
|
||||||
指定容器
|
|
||||||
</span></button></div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user