mirror of
https://github.com/youzan/vant.git
synced 2025-10-19 01:54:48 +00:00
feat(Sku): auto center in largeImageMode (#6633)
* feat(Sku): 大图模式下支持自动定位到选中 * fix(Sku): 修改居中实现 Co-authored-by: songweite <songweite@youzan.com>
This commit is contained in:
@@ -430,6 +430,8 @@ export default createComponent({
|
||||
selectedProp: this.selectedProp,
|
||||
selectedSkuComb: this.selectedSkuComb,
|
||||
});
|
||||
|
||||
this.centerInitialSku();
|
||||
},
|
||||
|
||||
getSkuMessages() {
|
||||
@@ -605,6 +607,18 @@ export default createComponent({
|
||||
selectedSkuComb: this.selectedSkuComb,
|
||||
};
|
||||
},
|
||||
|
||||
// 当 popup 完全打开后执行
|
||||
onOpened() {
|
||||
this.centerInitialSku();
|
||||
},
|
||||
|
||||
centerInitialSku() {
|
||||
(this.$refs.skuRows || []).forEach((it) => {
|
||||
const { k_s } = it.skuRow || {};
|
||||
it.centerItem(this.initialSku[k_s]);
|
||||
});
|
||||
},
|
||||
},
|
||||
|
||||
render() {
|
||||
@@ -681,7 +695,7 @@ export default createComponent({
|
||||
(this.hasSkuOrAttr && (
|
||||
<div class={this.skuGroupClass}>
|
||||
{this.skuTree.map((skuTreeItem) => (
|
||||
<SkuRow skuRow={skuTreeItem}>
|
||||
<SkuRow skuRow={skuTreeItem} ref="skuRows" refInFor>
|
||||
{skuTreeItem.v.map((skuValue) => (
|
||||
<SkuRowItem
|
||||
skuList={sku.list}
|
||||
@@ -759,6 +773,7 @@ export default createComponent({
|
||||
getContainer={this.getContainer}
|
||||
closeOnClickOverlay={this.closeOnClickOverlay}
|
||||
safeAreaInsetBottom={this.safeAreaInsetBottom}
|
||||
onOpened={this.onOpened}
|
||||
>
|
||||
{Header}
|
||||
<div class="van-sku-body" style={this.bodyStyle}>
|
||||
|
Reference in New Issue
Block a user