diff --git a/docs/markdown/v2-progress-tracking.md b/docs/markdown/v2-progress-tracking.md index 3d1b409c4..b1903930f 100644 --- a/docs/markdown/v2-progress-tracking.md +++ b/docs/markdown/v2-progress-tracking.md @@ -73,6 +73,10 @@ - 新增`label-class`属性 +### GoodsActionButton + +- 新增`type`属性 + ### Icon - 支持`Number`类型的`size`属性 @@ -128,6 +132,10 @@ - 新增`preview-open`事件 - 新增`preview-close`事件 +### Tab + +- 修复开启`animated`后高度错误的问题 + ### Tabbar - 新增`inactive-color`属性 diff --git a/packages/tab/demo/index.vue b/packages/tab/demo/index.vue index f5a68ab02..d7dd6f2b8 100644 --- a/packages/tab/demo/index.vue +++ b/packages/tab/demo/index.vue @@ -91,9 +91,7 @@ - + diff --git a/packages/tab/index.js b/packages/tab/index.js index 543be11d5..dd397593f 100644 --- a/packages/tab/index.js +++ b/packages/tab/index.js @@ -44,10 +44,22 @@ export default sfc({ const { slots } = this; const shouldRender = this.inited || !this.parent.lazyRender; + const Content = [ + shouldRender ? slots() : h(), + slots('title') &&
{slots('title')}
+ ]; + + if (this.parent.animated) { + return ( +
+
{Content}
+
+ ); + } + return ( -
- {shouldRender ? slots() : h()} - {slots('title') &&
{slots('title')}
} +
+ {Content}
); } diff --git a/packages/tab/test/__snapshots__/demo.spec.js.snap b/packages/tab/test/__snapshots__/demo.spec.js.snap index e424e5b00..62d0fa71b 100644 --- a/packages/tab/test/__snapshots__/demo.spec.js.snap +++ b/packages/tab/test/__snapshots__/demo.spec.js.snap @@ -205,19 +205,27 @@ exports[`renders demo correctly 1`] = `
标签 4
-
+
-
- 内容 1 +
+
+ 内容 1 +
-
- +
+
+ +
-
- +
+
+ +
-
- +
+
+ +
diff --git a/packages/tabs/index.js b/packages/tabs/index.js index 74e189719..c5240132d 100644 --- a/packages/tabs/index.js +++ b/packages/tabs/index.js @@ -442,7 +442,7 @@ export default sfc({ {this.slots('nav-right')}
-
+
{animated ? (
{this.slots()} diff --git a/packages/tabs/index.less b/packages/tabs/index.less index 89b730e58..8bc0bd827 100644 --- a/packages/tabs/index.less +++ b/packages/tabs/index.less @@ -117,12 +117,6 @@ border-radius: 3px; } - &__content { - &--animated { - overflow: hidden; - } - } - &__track { position: relative; display: flex; @@ -146,10 +140,18 @@ height: @tabs-card-height; } } +} - .van-tab__pane { +.van-tab__pane { + &, + &-wrapper { flex-shrink: 0; box-sizing: border-box; width: 100%; } + + &-wrapper--inactive { + height: 0; + overflow: visible; + } }