[new feature] Tabs: add animated props to change tabs with animation (#2126)

This commit is contained in:
张敏
2018-11-23 19:51:47 +08:00
committed by neverland
parent 8042e37829
commit d84b13a6cc
15 changed files with 2097 additions and 268 deletions
+198 -153
View File
@@ -10,21 +10,23 @@ exports[`renders demo correctly 1`] = `
</div>
</div>
<div class="van-tabs__content">
<div class="van-tab__pane" style="display:none;">
<!---->
<!---->
</div>
<div class="van-tab__pane" style="display:none;">
<!---->
<!---->
</div>
<div class="van-tab__pane" style="display:none;">
<!---->
<!---->
</div>
<div class="van-tab__pane" style="display:none;">
<!---->
<!---->
<div class="van-tabs__track" style="display:none;">
<div class="van-tab__pane" style="display:none;">
<!---->
<!---->
</div>
<div class="van-tab__pane" style="display:none;">
<!---->
<!---->
</div>
<div class="van-tab__pane" style="display:none;">
<!---->
<!---->
</div>
<div class="van-tab__pane" style="display:none;">
<!---->
<!---->
</div>
</div>
</div>
</div>
@@ -37,37 +39,39 @@ exports[`renders demo correctly 1`] = `
</div>
</div>
<div class="van-tabs__content">
<div class="van-tab__pane" style="display:none;">
<!---->
<!---->
</div>
<div class="van-tab__pane" style="display:none;">
<!---->
<!---->
</div>
<div class="van-tab__pane" style="display:none;">
<!---->
<!---->
</div>
<div class="van-tab__pane" style="display:none;">
<!---->
<!---->
</div>
<div class="van-tab__pane" style="display:none;">
<!---->
<!---->
</div>
<div class="van-tab__pane" style="display:none;">
<!---->
<!---->
</div>
<div class="van-tab__pane" style="display:none;">
<!---->
<!---->
</div>
<div class="van-tab__pane" style="display:none;">
<!---->
<!---->
<div class="van-tabs__track" style="display:none;">
<div class="van-tab__pane" style="display:none;">
<!---->
<!---->
</div>
<div class="van-tab__pane" style="display:none;">
<!---->
<!---->
</div>
<div class="van-tab__pane" style="display:none;">
<!---->
<!---->
</div>
<div class="van-tab__pane" style="display:none;">
<!---->
<!---->
</div>
<div class="van-tab__pane" style="display:none;">
<!---->
<!---->
</div>
<div class="van-tab__pane" style="display:none;">
<!---->
<!---->
</div>
<div class="van-tab__pane" style="display:none;">
<!---->
<!---->
</div>
<div class="van-tab__pane" style="display:none;">
<!---->
<!---->
</div>
</div>
</div>
</div>
@@ -80,17 +84,19 @@ exports[`renders demo correctly 1`] = `
</div>
</div>
<div class="van-tabs__content">
<div class="van-tab__pane" style="display:none;">
<!---->
<!---->
</div>
<div class="van-tab__pane" style="display:none;">
<!---->
<!---->
</div>
<div class="van-tab__pane" style="display:none;">
<!---->
<!---->
<div class="van-tabs__track" style="display:none;">
<div class="van-tab__pane" style="display:none;">
<!---->
<!---->
</div>
<div class="van-tab__pane" style="display:none;">
<!---->
<!---->
</div>
<div class="van-tab__pane" style="display:none;">
<!---->
<!---->
</div>
</div>
</div>
</div>
@@ -103,92 +109,100 @@ exports[`renders demo correctly 1`] = `
</div>
</div>
<div class="van-tabs__content">
<div class="van-tab__pane" style="display:none;">
<!---->
<!---->
</div>
<div class="van-tab__pane" style="display:none;">
<!---->
<!---->
</div>
<div class="van-tab__pane" style="display:none;">
<!---->
<!---->
</div>
</div>
</div>
</div>
<div>
<div class="van-tabs van-tabs--line">
<div class="van-tabs__wrap van-hairline--top-bottom">
<div class="van-tabs__nav van-tabs__nav--line" style="border-color:undefined;">
<div class="van-tabs__line"></div>
</div>
</div>
<div class="van-tabs__content">
<div class="van-tab__pane" style="display:none;">
<!---->
<!---->
</div>
<div class="van-tab__pane" style="display:none;">
<!---->
<!---->
</div>
</div>
</div>
</div>
<div>
<div class="van-tabs van-tabs--line">
<div class="van-tabs__wrap van-hairline--top-bottom">
<div class="van-tabs__nav van-tabs__nav--line" style="border-color:undefined;">
<div class="van-tabs__line"></div>
</div>
</div>
<div class="van-tabs__content">
<div class="van-tab__pane" style="display:none;">
<!---->
<!---->
</div>
<div class="van-tab__pane" style="display:none;">
<!---->
<!---->
</div>
<div class="van-tab__pane" style="display:none;">
<!---->
<!---->
</div>
<div class="van-tab__pane" style="display:none;">
<!---->
<!---->
</div>
</div>
</div>
</div>
<div>
<div class="van-tabs van-tabs--line">
<div class="van-tabs__wrap van-hairline--top-bottom">
<div class="van-tabs__nav van-tabs__nav--line" style="border-color:undefined;">
<div class="van-tabs__line"></div>
</div>
</div>
<div class="van-tabs__content">
<div class="van-tab__pane" style="display:none;">
<!---->
<div>
<div>
<i class="van-icon van-icon-more-o" style="color:undefined;font-size:undefined;">
<!---->
</i>标签
</div>
<div class="van-tabs__track" style="display:none;">
<div class="van-tab__pane" style="display:none;">
<!---->
<!---->
</div>
<div class="van-tab__pane" style="display:none;">
<!---->
<!---->
</div>
<div class="van-tab__pane" style="display:none;">
<!---->
<!---->
</div>
</div>
<div class="van-tab__pane" style="display:none;">
<!---->
<div>
</div>
</div>
</div>
<div>
<div class="van-tabs van-tabs--line">
<div class="van-tabs__wrap van-hairline--top-bottom">
<div class="van-tabs__nav van-tabs__nav--line" style="border-color:undefined;">
<div class="van-tabs__line"></div>
</div>
</div>
<div class="van-tabs__content">
<div class="van-tabs__track" style="display:none;">
<div class="van-tab__pane" style="display:none;">
<!---->
<!---->
</div>
<div class="van-tab__pane" style="display:none;">
<!---->
<!---->
</div>
</div>
</div>
</div>
</div>
<div>
<div class="van-tabs van-tabs--line">
<div class="van-tabs__wrap van-hairline--top-bottom">
<div class="van-tabs__nav van-tabs__nav--line" style="border-color:undefined;">
<div class="van-tabs__line"></div>
</div>
</div>
<div class="van-tabs__content">
<div class="van-tabs__track" style="display:none;">
<div class="van-tab__pane" style="display:none;">
<!---->
<!---->
</div>
<div class="van-tab__pane" style="display:none;">
<!---->
<!---->
</div>
<div class="van-tab__pane" style="display:none;">
<!---->
<!---->
</div>
<div class="van-tab__pane" style="display:none;">
<!---->
<!---->
</div>
</div>
</div>
</div>
</div>
<div>
<div class="van-tabs van-tabs--line">
<div class="van-tabs__wrap van-hairline--top-bottom">
<div class="van-tabs__nav van-tabs__nav--line" style="border-color:undefined;">
<div class="van-tabs__line"></div>
</div>
</div>
<div class="van-tabs__content">
<div class="van-tabs__track" style="display:none;">
<div class="van-tab__pane" style="display:none;">
<!---->
<div>
<i class="van-icon van-icon-more-o" style="color:undefined;font-size:undefined;">
<!---->
</i>标签
<div>
<i class="van-icon van-icon-more-o" style="color:undefined;font-size:undefined;">
<!---->
</i>标签
</div>
</div>
</div>
<div class="van-tab__pane" style="display:none;">
<!---->
<div>
<div>
<i class="van-icon van-icon-more-o" style="color:undefined;font-size:undefined;">
<!---->
</i>标签
</div>
</div>
</div>
</div>
@@ -203,21 +217,52 @@ exports[`renders demo correctly 1`] = `
</div>
</div>
<div class="van-tabs__content">
<div class="van-tab__pane" style="display:none;">
<!---->
<!---->
<div class="van-tabs__track" style="width:0px;transition-duration:0.4s;transform:translateX(0px);display:none;">
<div class="van-tab__pane van-tab__pane--float">
<!---->
<!---->
</div>
<div class="van-tab__pane van-tab__pane--float">
<!---->
<!---->
</div>
<div class="van-tab__pane van-tab__pane--float">
<!---->
<!---->
</div>
<div class="van-tab__pane van-tab__pane--float">
<!---->
<!---->
</div>
</div>
<div class="van-tab__pane" style="display:none;">
<!---->
<!---->
</div>
</div>
</div>
<div>
<div class="van-tabs van-tabs--line">
<div class="van-tabs__wrap van-hairline--top-bottom">
<div class="van-tabs__nav van-tabs__nav--line" style="border-color:undefined;">
<div class="van-tabs__line"></div>
</div>
<div class="van-tab__pane" style="display:none;">
<!---->
<!---->
</div>
<div class="van-tab__pane" style="display:none;">
<!---->
<!---->
</div>
<div class="van-tabs__content">
<div class="van-tabs__track" style="display:none;">
<div class="van-tab__pane" style="display:none;">
<!---->
<!---->
</div>
<div class="van-tab__pane" style="display:none;">
<!---->
<!---->
</div>
<div class="van-tab__pane" style="display:none;">
<!---->
<!---->
</div>
<div class="van-tab__pane" style="display:none;">
<!---->
<!---->
</div>
</div>
</div>
</div>
@@ -1,15 +1,41 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`click to switch tab 1`] = `
exports[`change tabs data 1`] = `
<div class="van-tabs van-tabs--line">
<div class="van-tabs__wrap van-hairline--top-bottom">
<div class="van-tabs__nav van-tabs__nav--line">
<div class="van-tabs__line" style="width: 0px;"></div>
<div class="van-tabs__nav van-tabs__nav--line" style="border-color: #f44;">
<div class="van-tabs__line"></div>
</div>
</div>
<div class="van-tabs__content">
<div class="van-tabs__track" style="display: none;">
<div class="van-tab__pane" style="display: none;">
<!---->
<!---->
</div>
<div class="van-tab__pane" style="display: none;">
<!---->
<div><span>title2</span></div>
</div>
<div class="van-tab__pane" style="display: none;">
<!---->
<!---->
</div>
</div>
</div>
</div>
`;
exports[`change tabs data 2`] = `
<div class="van-tabs van-tabs--line">
<div class="van-tabs__wrap van-hairline--top-bottom">
<div class="van-tabs__nav van-tabs__nav--line" style="border-color: #f44;">
<div class="van-tabs__line"></div>
<div class="van-tab van-tab--active"><span class="van-ellipsis">
title1
</span></div>
<div class="van-tab"><span class="van-ellipsis">
title2
</span></div>
<div class="van-tab van-tab--disabled"><span class="van-ellipsis">
title3
@@ -17,16 +43,52 @@ exports[`click to switch tab 1`] = `
</div>
</div>
<div class="van-tabs__content">
<div class="van-tab__pane" style="">Text
<!---->
<div class="van-tabs__track" style="display: none;">
<div class="van-tab__pane" style="">
<!---->
<!---->
</div>
<div class="van-tab__pane" style="display: none;">
<!---->
<div><span>title2</span></div>
</div>
<div class="van-tab__pane" style="display: none;">
<!---->
<!---->
</div>
</div>
<div class="van-tab__pane" style="display: none;">
<!---->
<!---->
</div>
</div>
`;
exports[`click to switch tab 1`] = `
<div class="van-tabs van-tabs--line">
<div class="van-tabs__wrap van-hairline--top-bottom">
<div class="van-tabs__nav van-tabs__nav--line" style="border-color: #f44;">
<div class="van-tabs__line" style="width: 2px; background-color: rgb(255, 68, 68);"></div>
<div class="van-tab van-tab--active"><span class="van-ellipsis">
title1
</span></div>
<div class="van-tab">
<div><span>title2</span></div>
</div>
<div class="van-tab van-tab--disabled"><span class="van-ellipsis">
title3
</span></div>
</div>
<div class="van-tab__pane" style="display: none;">
<!---->
<!---->
</div>
<div class="van-tabs__content">
<div class="van-tabs__track" style="display: none;">
<div class="van-tab__pane" style="width: 0px;">Text
<!---->
</div>
<div class="van-tab__pane" style="display: none; width: 0px;">
<!---->
</div>
<div class="van-tab__pane" style="display: none; width: 0px;">
<!---->
<!---->
</div>
</div>
</div>
</div>
@@ -35,29 +97,31 @@ exports[`click to switch tab 1`] = `
exports[`click to switch tab 2`] = `
<div class="van-tabs van-tabs--line">
<div class="van-tabs__wrap van-hairline--top-bottom">
<div class="van-tabs__nav van-tabs__nav--line">
<div class="van-tabs__line" style="width: 0px;"></div>
<div class="van-tabs__nav van-tabs__nav--line" style="border-color: #f44;">
<div class="van-tabs__line" style="width: 2px; background-color: rgb(255, 68, 68);"></div>
<div class="van-tab"><span class="van-ellipsis">
title1
</span></div>
<div class="van-tab van-tab--active"><span class="van-ellipsis">
title2
</span></div>
<div class="van-tab van-tab--active">
<div><span>title2</span></div>
</div>
<div class="van-tab van-tab--disabled"><span class="van-ellipsis">
title3
</span></div>
</div>
</div>
<div class="van-tabs__content">
<div class="van-tab__pane" style="display: none;">Text
<!---->
</div>
<div class="van-tab__pane" style="">Text
<!---->
</div>
<div class="van-tab__pane" style="display: none;">
<!---->
<!---->
<div class="van-tabs__track" style="display: none;">
<div class="van-tab__pane" style="width: 0px; display: none;">Text
<!---->
</div>
<div class="van-tab__pane" style="width: 0px;">
Text
</div>
<div class="van-tab__pane" style="display: none; width: 0px;">
<!---->
<!---->
</div>
</div>
</div>
</div>
@@ -66,30 +130,31 @@ exports[`click to switch tab 2`] = `
exports[`swipe to switch tab 1`] = `
<div class="van-tabs van-tabs--line">
<div class="van-tabs__wrap van-hairline--top-bottom">
<div class="van-tabs__nav van-tabs__nav--line">
<div class="van-tabs__line" style="width: 0px;"></div>
<div class="van-tabs__nav van-tabs__nav--line" style="border-color: #f44;">
<div class="van-tabs__line" style="width: 2px; background-color: rgb(255, 68, 68);"></div>
<div class="van-tab van-tab--active"><span class="van-ellipsis">
title1
</span></div>
<div class="van-tab"><span class="van-ellipsis">
title2
</span></div>
<div class="van-tab">
<div><span>title2</span></div>
</div>
<div class="van-tab van-tab--disabled"><span class="van-ellipsis">
title3
</span></div>
</div>
</div>
<div class="van-tabs__content">
<div class="van-tab__pane" style="">Text
<!---->
</div>
<div class="van-tab__pane" style="display: none;">
<!---->
<!---->
</div>
<div class="van-tab__pane" style="display: none;">
<!---->
<!---->
<div class="van-tabs__track" style="display: none;">
<div class="van-tab__pane" style="width: 0px;">Text
<!---->
</div>
<div class="van-tab__pane" style="display: none; width: 0px;">
<!---->
</div>
<div class="van-tab__pane" style="display: none; width: 0px;">
<!---->
<!---->
</div>
</div>
</div>
</div>
@@ -98,29 +163,31 @@ exports[`swipe to switch tab 1`] = `
exports[`swipe to switch tab 2`] = `
<div class="van-tabs van-tabs--line">
<div class="van-tabs__wrap van-hairline--top-bottom">
<div class="van-tabs__nav van-tabs__nav--line">
<div class="van-tabs__line" style="width: 0px;"></div>
<div class="van-tabs__nav van-tabs__nav--line" style="border-color: #f44;">
<div class="van-tabs__line" style="width: 2px; background-color: rgb(255, 68, 68);"></div>
<div class="van-tab"><span class="van-ellipsis">
title1
</span></div>
<div class="van-tab van-tab--active"><span class="van-ellipsis">
title2
</span></div>
<div class="van-tab van-tab--active">
<div><span>title2</span></div>
</div>
<div class="van-tab van-tab--disabled"><span class="van-ellipsis">
title3
</span></div>
</div>
</div>
<div class="van-tabs__content">
<div class="van-tab__pane" style="display: none;">Text
<!---->
</div>
<div class="van-tab__pane" style="">Text
<!---->
</div>
<div class="van-tab__pane" style="display: none;">
<!---->
<!---->
<div class="van-tabs__track" style="display: none;">
<div class="van-tab__pane" style="width: 0px; display: none;">Text
<!---->
</div>
<div class="van-tab__pane" style="width: 0px;">
Text
</div>
<div class="van-tab__pane" style="display: none; width: 0px;">
<!---->
<!---->
</div>
</div>
</div>
</div>
@@ -129,29 +196,31 @@ exports[`swipe to switch tab 2`] = `
exports[`swipe to switch tab 3`] = `
<div class="van-tabs van-tabs--line">
<div class="van-tabs__wrap van-hairline--top-bottom">
<div class="van-tabs__nav van-tabs__nav--line">
<div class="van-tabs__line" style="width: 0px;"></div>
<div class="van-tabs__nav van-tabs__nav--line" style="border-color: #f44;">
<div class="van-tabs__line" style="width: 2px; background-color: rgb(255, 68, 68);"></div>
<div class="van-tab"><span class="van-ellipsis">
title1
</span></div>
<div class="van-tab van-tab--active"><span class="van-ellipsis">
title2
</span></div>
<div class="van-tab van-tab--active">
<div><span>title2</span></div>
</div>
<div class="van-tab van-tab--disabled"><span class="van-ellipsis">
title3
</span></div>
</div>
</div>
<div class="van-tabs__content">
<div class="van-tab__pane" style="display: none;">Text
<!---->
</div>
<div class="van-tab__pane" style="">Text
<!---->
</div>
<div class="van-tab__pane" style="display: none;">
<!---->
<!---->
<div class="van-tabs__track" style="display: none;">
<div class="van-tab__pane" style="width: 0px; display: none;">Text
<!---->
</div>
<div class="van-tab__pane" style="width: 0px;">
Text
</div>
<div class="van-tab__pane" style="display: none; width: 0px;">
<!---->
<!---->
</div>
</div>
</div>
</div>
@@ -160,29 +229,31 @@ exports[`swipe to switch tab 3`] = `
exports[`swipe to switch tab 4`] = `
<div class="van-tabs van-tabs--line">
<div class="van-tabs__wrap van-hairline--top-bottom">
<div class="van-tabs__nav van-tabs__nav--line">
<div class="van-tabs__line" style="width: 0px;"></div>
<div class="van-tabs__nav van-tabs__nav--line" style="border-color: #f44;">
<div class="van-tabs__line" style="width: 2px; background-color: rgb(255, 68, 68);"></div>
<div class="van-tab van-tab--active"><span class="van-ellipsis">
title1
</span></div>
<div class="van-tab"><span class="van-ellipsis">
title2
</span></div>
<div class="van-tab">
<div><span>title2</span></div>
</div>
<div class="van-tab van-tab--disabled"><span class="van-ellipsis">
title3
</span></div>
</div>
</div>
<div class="van-tabs__content">
<div class="van-tab__pane" style="">Text
<!---->
</div>
<div class="van-tab__pane" style="display: none;">Text
<!---->
</div>
<div class="van-tab__pane" style="display: none;">
<!---->
<!---->
<div class="van-tabs__track" style="display: none;">
<div class="van-tab__pane" style="width: 0px;">Text
<!---->
</div>
<div class="van-tab__pane" style="width: 0px; display: none;">
Text
</div>
<div class="van-tab__pane" style="display: none; width: 0px;">
<!---->
<!---->
</div>
</div>
</div>
</div>