mirror of
https://gitee.com/vant-contrib/vant.git
synced 2025-04-24 10:20:19 +08:00
[improvement] Tab: extract title component (#3634)
This commit is contained in:
parent
51105f4194
commit
e4d967a3f0
@ -28,9 +28,9 @@ exports[`render coupon list 1`] = `
|
|||||||
<div class="van-tabs van-tabs--line van-coupon-list__tab">
|
<div class="van-tabs van-tabs--line van-coupon-list__tab">
|
||||||
<div class="van-tabs__wrap van-hairline--top-bottom">
|
<div class="van-tabs__wrap van-hairline--top-bottom">
|
||||||
<div role="tablist" class="van-tabs__nav van-tabs__nav--line">
|
<div role="tablist" class="van-tabs__nav van-tabs__nav--line">
|
||||||
<div class="van-tabs__line"></div>
|
|
||||||
<div role="tab" aria-selected="true" class="van-tab van-tab--active"><span class="van-ellipsis">可使用优惠券 (6)</span></div>
|
<div role="tab" aria-selected="true" class="van-tab van-tab--active"><span class="van-ellipsis">可使用优惠券 (6)</span></div>
|
||||||
<div role="tab" class="van-tab"><span class="van-ellipsis">不可使用优惠券 (2)</span></div>
|
<div role="tab" class="van-tab"><span class="van-ellipsis">不可使用优惠券 (2)</span></div>
|
||||||
|
<div class="van-tabs__line"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="van-tabs__content">
|
<div class="van-tabs__content">
|
||||||
@ -153,9 +153,9 @@ exports[`render empty coupon list 1`] = `
|
|||||||
<div class="van-tabs van-tabs--line van-coupon-list__tab">
|
<div class="van-tabs van-tabs--line van-coupon-list__tab">
|
||||||
<div class="van-tabs__wrap van-hairline--top-bottom">
|
<div class="van-tabs__wrap van-hairline--top-bottom">
|
||||||
<div role="tablist" class="van-tabs__nav van-tabs__nav--line">
|
<div role="tablist" class="van-tabs__nav van-tabs__nav--line">
|
||||||
<div class="van-tabs__line"></div>
|
|
||||||
<div role="tab" class="van-tab"><span class="van-ellipsis">可使用优惠券 (0)</span></div>
|
<div role="tab" class="van-tab"><span class="van-ellipsis">可使用优惠券 (0)</span></div>
|
||||||
<div role="tab" class="van-tab van-tab--active" aria-selected="true"><span class="van-ellipsis">不可使用优惠券 (0)</span></div>
|
<div role="tab" class="van-tab van-tab--active" aria-selected="true"><span class="van-ellipsis">不可使用优惠券 (0)</span></div>
|
||||||
|
<div class="van-tabs__line"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="van-tabs__content">
|
<div class="van-tabs__content">
|
||||||
|
@ -5,9 +5,9 @@ exports[`renders demo correctly 1`] = `
|
|||||||
<div class="van-tabs van-tabs--line">
|
<div class="van-tabs van-tabs--line">
|
||||||
<div class="van-tabs__wrap van-hairline--top-bottom">
|
<div class="van-tabs__wrap van-hairline--top-bottom">
|
||||||
<div role="tablist" class="van-tabs__nav van-tabs__nav--line">
|
<div role="tablist" class="van-tabs__nav van-tabs__nav--line">
|
||||||
<div class="van-tabs__line" style="width: 0px; transform: translateX(0px) translateX(-50%);"></div>
|
|
||||||
<div role="tab" aria-selected="true" class="van-tab van-tab--active"><span class="van-ellipsis">基础用法</span></div>
|
<div role="tab" aria-selected="true" class="van-tab van-tab--active"><span class="van-ellipsis">基础用法</span></div>
|
||||||
<div role="tab" class="van-tab"><span class="van-ellipsis">自定义索引列表</span></div>
|
<div role="tab" class="van-tab"><span class="van-ellipsis">自定义索引列表</span></div>
|
||||||
|
<div class="van-tabs__line" style="width: 0px; transform: translateX(0px) translateX(-50%);"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="van-tabs__content">
|
<div class="van-tabs__content">
|
||||||
|
@ -5,9 +5,9 @@ exports[`renders demo correctly 1`] = `
|
|||||||
<div class="van-tabs van-tabs--line">
|
<div class="van-tabs van-tabs--line">
|
||||||
<div class="van-tabs__wrap van-hairline--top-bottom">
|
<div class="van-tabs__wrap van-hairline--top-bottom">
|
||||||
<div role="tablist" class="van-tabs__nav van-tabs__nav--line">
|
<div role="tablist" class="van-tabs__nav van-tabs__nav--line">
|
||||||
<div class="van-tabs__line" style="width: 0px; transform: translateX(0px) translateX(-50%);"></div>
|
|
||||||
<div role="tab" aria-selected="true" class="van-tab van-tab--active"><span class="van-ellipsis">基础用法</span></div>
|
<div role="tab" aria-selected="true" class="van-tab van-tab--active"><span class="van-ellipsis">基础用法</span></div>
|
||||||
<div role="tab" class="van-tab"><span class="van-ellipsis">错误提示</span></div>
|
<div role="tab" class="van-tab"><span class="van-ellipsis">错误提示</span></div>
|
||||||
|
<div class="van-tabs__line" style="width: 0px; transform: translateX(0px) translateX(-50%);"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="van-tabs__content">
|
<div class="van-tabs__content">
|
||||||
|
@ -6,11 +6,11 @@ exports[`renders demo correctly 1`] = `
|
|||||||
<div class="van-tabs van-tabs--line">
|
<div class="van-tabs van-tabs--line">
|
||||||
<div class="van-tabs__wrap van-hairline--top-bottom">
|
<div class="van-tabs__wrap van-hairline--top-bottom">
|
||||||
<div role="tablist" class="van-tabs__nav van-tabs__nav--line">
|
<div role="tablist" class="van-tabs__nav van-tabs__nav--line">
|
||||||
<div class="van-tabs__line" style="width: 0px; transform: translateX(0px) translateX(-50%);"></div>
|
|
||||||
<div role="tab" class="van-tab"><span class="van-ellipsis">标签 1</span></div>
|
<div role="tab" class="van-tab"><span class="van-ellipsis">标签 1</span></div>
|
||||||
<div role="tab" class="van-tab"><span class="van-ellipsis">标签 2</span></div>
|
<div role="tab" class="van-tab"><span class="van-ellipsis">标签 2</span></div>
|
||||||
<div role="tab" aria-selected="true" class="van-tab van-tab--active"><span class="van-ellipsis">标签 3</span></div>
|
<div role="tab" aria-selected="true" class="van-tab van-tab--active"><span class="van-ellipsis">标签 3</span></div>
|
||||||
<div role="tab" class="van-tab"><span class="van-ellipsis">标签 4</span></div>
|
<div role="tab" class="van-tab"><span class="van-ellipsis">标签 4</span></div>
|
||||||
|
<div class="van-tabs__line" style="width: 0px; transform: translateX(0px) translateX(-50%);"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="van-tabs__content">
|
<div class="van-tabs__content">
|
||||||
@ -33,7 +33,6 @@ exports[`renders demo correctly 1`] = `
|
|||||||
<div class="van-tabs van-tabs--line">
|
<div class="van-tabs van-tabs--line">
|
||||||
<div class="van-tabs__wrap van-tabs__wrap--scrollable van-hairline--top-bottom">
|
<div class="van-tabs__wrap van-tabs__wrap--scrollable van-hairline--top-bottom">
|
||||||
<div role="tablist" class="van-tabs__nav van-tabs__nav--line">
|
<div role="tablist" class="van-tabs__nav van-tabs__nav--line">
|
||||||
<div class="van-tabs__line" style="width: 0px; transform: translateX(0px) translateX(-50%);"></div>
|
|
||||||
<div role="tab" aria-selected="true" class="van-tab van-tab--active" style="flex-basis: 22%;"><span class="van-ellipsis">标签 1</span></div>
|
<div role="tab" aria-selected="true" class="van-tab van-tab--active" style="flex-basis: 22%;"><span class="van-ellipsis">标签 1</span></div>
|
||||||
<div role="tab" class="van-tab" style="flex-basis: 22%;"><span class="van-ellipsis">标签 2</span></div>
|
<div role="tab" class="van-tab" style="flex-basis: 22%;"><span class="van-ellipsis">标签 2</span></div>
|
||||||
<div role="tab" class="van-tab" style="flex-basis: 22%;"><span class="van-ellipsis">标签 3</span></div>
|
<div role="tab" class="van-tab" style="flex-basis: 22%;"><span class="van-ellipsis">标签 3</span></div>
|
||||||
@ -42,6 +41,7 @@ exports[`renders demo correctly 1`] = `
|
|||||||
<div role="tab" class="van-tab" style="flex-basis: 22%;"><span class="van-ellipsis">标签 6</span></div>
|
<div role="tab" class="van-tab" style="flex-basis: 22%;"><span class="van-ellipsis">标签 6</span></div>
|
||||||
<div role="tab" class="van-tab" style="flex-basis: 22%;"><span class="van-ellipsis">标签 7</span></div>
|
<div role="tab" class="van-tab" style="flex-basis: 22%;"><span class="van-ellipsis">标签 7</span></div>
|
||||||
<div role="tab" class="van-tab" style="flex-basis: 22%;"><span class="van-ellipsis">标签 8</span></div>
|
<div role="tab" class="van-tab" style="flex-basis: 22%;"><span class="van-ellipsis">标签 8</span></div>
|
||||||
|
<div class="van-tabs__line" style="width: 0px; transform: translateX(0px) translateX(-50%);"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="van-tabs__content">
|
<div class="van-tabs__content">
|
||||||
@ -76,10 +76,10 @@ exports[`renders demo correctly 1`] = `
|
|||||||
<div class="van-tabs van-tabs--line">
|
<div class="van-tabs van-tabs--line">
|
||||||
<div class="van-tabs__wrap van-hairline--top-bottom">
|
<div class="van-tabs__wrap van-hairline--top-bottom">
|
||||||
<div role="tablist" class="van-tabs__nav van-tabs__nav--line">
|
<div role="tablist" class="van-tabs__nav van-tabs__nav--line">
|
||||||
<div class="van-tabs__line" style="width: 0px; transform: translateX(0px) translateX(-50%);"></div>
|
|
||||||
<div role="tab" aria-selected="true" class="van-tab van-tab--active"><span class="van-ellipsis">标签 1</span></div>
|
<div role="tab" aria-selected="true" class="van-tab van-tab--active"><span class="van-ellipsis">标签 1</span></div>
|
||||||
<div role="tab" class="van-tab van-tab--disabled"><span class="van-ellipsis">标签 2</span></div>
|
<div role="tab" class="van-tab van-tab--disabled"><span class="van-ellipsis">标签 2</span></div>
|
||||||
<div role="tab" class="van-tab"><span class="van-ellipsis">标签 3</span></div>
|
<div role="tab" class="van-tab"><span class="van-ellipsis">标签 3</span></div>
|
||||||
|
<div class="van-tabs__line" style="width: 0px; transform: translateX(0px) translateX(-50%);"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="van-tabs__content">
|
<div class="van-tabs__content">
|
||||||
@ -121,9 +121,9 @@ exports[`renders demo correctly 1`] = `
|
|||||||
<div class="van-tabs van-tabs--line">
|
<div class="van-tabs van-tabs--line">
|
||||||
<div class="van-tabs__wrap van-hairline--top-bottom">
|
<div class="van-tabs__wrap van-hairline--top-bottom">
|
||||||
<div role="tablist" class="van-tabs__nav van-tabs__nav--line">
|
<div role="tablist" class="van-tabs__nav van-tabs__nav--line">
|
||||||
<div class="van-tabs__line" style="width: 0px; transform: translateX(0px) translateX(-50%);"></div>
|
|
||||||
<div role="tab" aria-selected="true" class="van-tab van-tab--active"><span class="van-ellipsis">标签 1</span></div>
|
<div role="tab" aria-selected="true" class="van-tab van-tab--active"><span class="van-ellipsis">标签 1</span></div>
|
||||||
<div role="tab" class="van-tab"><span class="van-ellipsis">标签 2</span></div>
|
<div role="tab" class="van-tab"><span class="van-ellipsis">标签 2</span></div>
|
||||||
|
<div class="van-tabs__line" style="width: 0px; transform: translateX(0px) translateX(-50%);"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="van-tabs__content">
|
<div class="van-tabs__content">
|
||||||
@ -140,11 +140,11 @@ exports[`renders demo correctly 1`] = `
|
|||||||
<div class="van-tabs van-tabs--line">
|
<div class="van-tabs van-tabs--line">
|
||||||
<div class="van-tabs__wrap van-hairline--top-bottom">
|
<div class="van-tabs__wrap van-hairline--top-bottom">
|
||||||
<div role="tablist" class="van-tabs__nav van-tabs__nav--line">
|
<div role="tablist" class="van-tabs__nav van-tabs__nav--line">
|
||||||
<div class="van-tabs__line" style="width: 0px; transform: translateX(0px) translateX(-50%);"></div>
|
|
||||||
<div role="tab" class="van-tab"><span class="van-ellipsis">标签 1</span></div>
|
<div role="tab" class="van-tab"><span class="van-ellipsis">标签 1</span></div>
|
||||||
<div role="tab" class="van-tab"><span class="van-ellipsis">标签 2</span></div>
|
<div role="tab" class="van-tab"><span class="van-ellipsis">标签 2</span></div>
|
||||||
<div role="tab" aria-selected="true" class="van-tab van-tab--active"><span class="van-ellipsis">标签 3</span></div>
|
<div role="tab" aria-selected="true" class="van-tab van-tab--active"><span class="van-ellipsis">标签 3</span></div>
|
||||||
<div role="tab" class="van-tab"><span class="van-ellipsis">标签 4</span></div>
|
<div role="tab" class="van-tab"><span class="van-ellipsis">标签 4</span></div>
|
||||||
|
<div class="van-tabs__line" style="width: 0px; transform: translateX(0px) translateX(-50%);"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="van-tabs__content">
|
<div class="van-tabs__content">
|
||||||
@ -167,11 +167,11 @@ exports[`renders demo correctly 1`] = `
|
|||||||
<div class="van-tabs van-tabs--line">
|
<div class="van-tabs van-tabs--line">
|
||||||
<div class="van-tabs__wrap van-hairline--top-bottom">
|
<div class="van-tabs__wrap van-hairline--top-bottom">
|
||||||
<div role="tablist" class="van-tabs__nav van-tabs__nav--line">
|
<div role="tablist" class="van-tabs__nav van-tabs__nav--line">
|
||||||
<div class="van-tabs__line" style="width: 0px; transform: translateX(0px) translateX(-50%);"></div>
|
|
||||||
<div role="tab" aria-selected="true" class="van-tab van-tab--active"><span class="van-ellipsis"><div><i class="van-icon van-icon-more-o"><!----></i>标签
|
<div role="tab" aria-selected="true" class="van-tab van-tab--active"><span class="van-ellipsis"><div><i class="van-icon van-icon-more-o"><!----></i>标签
|
||||||
</div></span></div>
|
</div></span></div>
|
||||||
<div role="tab" class="van-tab"><span class="van-ellipsis"><div><i class="van-icon van-icon-more-o"><!----></i>标签
|
<div role="tab" class="van-tab"><span class="van-ellipsis"><div><i class="van-icon van-icon-more-o"><!----></i>标签
|
||||||
</div></span></div>
|
</div></span></div>
|
||||||
|
<div class="van-tabs__line" style="width: 0px; transform: translateX(0px) translateX(-50%);"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="van-tabs__content">
|
<div class="van-tabs__content">
|
||||||
@ -188,11 +188,11 @@ exports[`renders demo correctly 1`] = `
|
|||||||
<div class="van-tabs van-tabs--line">
|
<div class="van-tabs van-tabs--line">
|
||||||
<div class="van-tabs__wrap van-hairline--top-bottom">
|
<div class="van-tabs__wrap van-hairline--top-bottom">
|
||||||
<div role="tablist" class="van-tabs__nav van-tabs__nav--line">
|
<div role="tablist" class="van-tabs__nav van-tabs__nav--line">
|
||||||
<div class="van-tabs__line" style="width: 0px; transform: translateX(0px) translateX(-50%);"></div>
|
|
||||||
<div role="tab" aria-selected="true" class="van-tab van-tab--active"><span class="van-ellipsis">标签 1</span></div>
|
<div role="tab" aria-selected="true" class="van-tab van-tab--active"><span class="van-ellipsis">标签 1</span></div>
|
||||||
<div role="tab" class="van-tab"><span class="van-ellipsis">标签 2</span></div>
|
<div role="tab" class="van-tab"><span class="van-ellipsis">标签 2</span></div>
|
||||||
<div role="tab" class="van-tab"><span class="van-ellipsis">标签 3</span></div>
|
<div role="tab" class="van-tab"><span class="van-ellipsis">标签 3</span></div>
|
||||||
<div role="tab" class="van-tab"><span class="van-ellipsis">标签 4</span></div>
|
<div role="tab" class="van-tab"><span class="van-ellipsis">标签 4</span></div>
|
||||||
|
<div class="van-tabs__line" style="width: 0px; transform: translateX(0px) translateX(-50%);"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="van-tabs__content van-tabs__content--animated">
|
<div class="van-tabs__content van-tabs__content--animated">
|
||||||
@ -225,11 +225,11 @@ exports[`renders demo correctly 1`] = `
|
|||||||
<div class="van-tabs van-tabs--line">
|
<div class="van-tabs van-tabs--line">
|
||||||
<div class="van-tabs__wrap van-hairline--top-bottom">
|
<div class="van-tabs__wrap van-hairline--top-bottom">
|
||||||
<div role="tablist" class="van-tabs__nav van-tabs__nav--line">
|
<div role="tablist" class="van-tabs__nav van-tabs__nav--line">
|
||||||
<div class="van-tabs__line" style="width: 0px; transform: translateX(0px) translateX(-50%);"></div>
|
|
||||||
<div role="tab" class="van-tab"><span class="van-ellipsis">标签 1</span></div>
|
<div role="tab" class="van-tab"><span class="van-ellipsis">标签 1</span></div>
|
||||||
<div role="tab" class="van-tab"><span class="van-ellipsis">标签 2</span></div>
|
<div role="tab" class="van-tab"><span class="van-ellipsis">标签 2</span></div>
|
||||||
<div role="tab" aria-selected="true" class="van-tab van-tab--active"><span class="van-ellipsis">标签 3</span></div>
|
<div role="tab" aria-selected="true" class="van-tab van-tab--active"><span class="van-ellipsis">标签 3</span></div>
|
||||||
<div role="tab" class="van-tab"><span class="van-ellipsis">标签 4</span></div>
|
<div role="tab" class="van-tab"><span class="van-ellipsis">标签 4</span></div>
|
||||||
|
<div class="van-tabs__line" style="width: 0px; transform: translateX(0px) translateX(-50%);"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="van-tabs__content">
|
<div class="van-tabs__content">
|
||||||
|
@ -15,22 +15,21 @@ exports[`change tabs data 1`] = `
|
|||||||
<div class="van-tabs van-tabs--line">
|
<div class="van-tabs van-tabs--line">
|
||||||
<div class="van-tabs__wrap van-hairline--top-bottom">
|
<div class="van-tabs__wrap van-hairline--top-bottom">
|
||||||
<div role="tablist" class="van-tabs__nav van-tabs__nav--line" style="border-color: #f44;">
|
<div role="tablist" class="van-tabs__nav van-tabs__nav--line" style="border-color: #f44;">
|
||||||
<div class="van-tabs__line" style="background-color: rgb(255, 68, 68);"></div>
|
|
||||||
<div role="tab" aria-selected="true" class="van-tab van-tab--active"><span class="van-ellipsis">title1</span></div>
|
<div role="tab" aria-selected="true" class="van-tab van-tab--active"><span class="van-ellipsis">title1</span></div>
|
||||||
<div role="tab" class="van-tab"><span class="van-ellipsis"><div><span>title2</span></div></span>
|
<div role="tab" class="van-tab"><span class="van-ellipsis">title2</span></div>
|
||||||
|
<div role="tab" class="van-tab van-tab--disabled"><span class="van-ellipsis">title3</span></div>
|
||||||
|
<div class="van-tabs__line" style="background-color: rgb(255, 68, 68);"></div>
|
||||||
</div>
|
</div>
|
||||||
<div role="tab" class="van-tab van-tab--disabled"><span class="van-ellipsis">title3</span></div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div class="van-tabs__content">
|
||||||
<div class="van-tabs__content">
|
<div role="tabpanel" class="van-tab__pane">Text</div>
|
||||||
<div role="tabpanel" class="van-tab__pane">Text</div>
|
<div role="tabpanel" class="van-tab__pane" style="display: none;">
|
||||||
<div role="tabpanel" class="van-tab__pane" style="display: none;">
|
<!---->
|
||||||
<!---->
|
</div>
|
||||||
|
<div role="tabpanel" class="van-tab__pane" style="display: none;">
|
||||||
|
<!---->
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div role="tabpanel" class="van-tab__pane" style="display: none;">
|
|
||||||
<!---->
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
`;
|
`;
|
||||||
|
|
||||||
@ -38,21 +37,20 @@ exports[`change tabs data 2`] = `
|
|||||||
<div class="van-tabs van-tabs--card">
|
<div class="van-tabs van-tabs--card">
|
||||||
<div class="van-tabs__wrap">
|
<div class="van-tabs__wrap">
|
||||||
<div role="tablist" class="van-tabs__nav van-tabs__nav--card" style="border-color: blue;">
|
<div role="tablist" class="van-tabs__nav van-tabs__nav--card" style="border-color: blue;">
|
||||||
<div class="van-tab van-tab--active" style="background-color: blue; border-color: blue;" role="tab" aria-selected="true"><span class="van-ellipsis">new title1</span></div>
|
<div role="tab" aria-selected="true" class="van-tab van-tab--active" style="border-color: blue; background-color: blue;"><span class="van-ellipsis">title1</span></div>
|
||||||
<div role="tab" class="van-tab" style="color: blue; border-color: blue;"><span class="van-ellipsis"></span></div>
|
<div role="tab" class="van-tab" style="border-color: blue; color: blue;"><span class="van-ellipsis">title2</span></div>
|
||||||
<div role="tab" class="van-tab van-tab--disabled" style="border-color: blue;"><span class="van-ellipsis"><div><span>title2</span></div>title3</span>
|
<div role="tab" class="van-tab van-tab--disabled" style="border-color: blue;"><span class="van-ellipsis">title3</span></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div class="van-tabs__content">
|
||||||
<div class="van-tabs__content">
|
<div role="tabpanel" class="van-tab__pane">Text</div>
|
||||||
<div role="tabpanel" class="van-tab__pane">Text</div>
|
<div role="tabpanel" class="van-tab__pane" style="display: none;">
|
||||||
<div role="tabpanel" class="van-tab__pane" style="display: none;">
|
<!---->
|
||||||
<!---->
|
</div>
|
||||||
|
<div role="tabpanel" class="van-tab__pane" style="display: none;">
|
||||||
|
<!---->
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div role="tabpanel" class="van-tab__pane" style="display: none;">
|
|
||||||
<!---->
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
`;
|
`;
|
||||||
|
|
||||||
@ -60,22 +58,21 @@ exports[`click to switch tab 1`] = `
|
|||||||
<div class="van-tabs van-tabs--line">
|
<div class="van-tabs van-tabs--line">
|
||||||
<div class="van-tabs__wrap van-hairline--top-bottom">
|
<div class="van-tabs__wrap van-hairline--top-bottom">
|
||||||
<div role="tablist" class="van-tabs__nav van-tabs__nav--line" style="border-color: #f44;">
|
<div role="tablist" class="van-tabs__nav van-tabs__nav--line" style="border-color: #f44;">
|
||||||
<div class="van-tabs__line" style="background-color: rgb(255, 68, 68); width: 2px; transform: translateX(0px) translateX(-50%);"></div>
|
|
||||||
<div role="tab" aria-selected="true" class="van-tab van-tab--active"><span class="van-ellipsis">title1</span></div>
|
<div role="tab" aria-selected="true" class="van-tab van-tab--active"><span class="van-ellipsis">title1</span></div>
|
||||||
<div role="tab" class="van-tab"><span class="van-ellipsis"><div><span>title2</span></div></span>
|
<div role="tab" class="van-tab"><span class="van-ellipsis">title2</span></div>
|
||||||
|
<div role="tab" class="van-tab van-tab--disabled"><span class="van-ellipsis">title3</span></div>
|
||||||
|
<div class="van-tabs__line" style="background-color: rgb(255, 68, 68); width: 2px; transform: translateX(0px) translateX(-50%);"></div>
|
||||||
</div>
|
</div>
|
||||||
<div role="tab" class="van-tab van-tab--disabled"><span class="van-ellipsis">title3</span></div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div class="van-tabs__content">
|
||||||
<div class="van-tabs__content">
|
<div role="tabpanel" class="van-tab__pane" style="">Text</div>
|
||||||
<div role="tabpanel" class="van-tab__pane" style="">Text</div>
|
<div role="tabpanel" class="van-tab__pane" style="display: none;">
|
||||||
<div role="tabpanel" class="van-tab__pane" style="display: none;">
|
<!---->
|
||||||
<!---->
|
</div>
|
||||||
|
<div role="tabpanel" class="van-tab__pane" style="display: none;">
|
||||||
|
<!---->
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div role="tabpanel" class="van-tab__pane" style="display: none;">
|
|
||||||
<!---->
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
`;
|
`;
|
||||||
|
|
||||||
@ -83,22 +80,19 @@ exports[`click to switch tab 2`] = `
|
|||||||
<div class="van-tabs van-tabs--line">
|
<div class="van-tabs van-tabs--line">
|
||||||
<div class="van-tabs__wrap van-hairline--top-bottom">
|
<div class="van-tabs__wrap van-hairline--top-bottom">
|
||||||
<div role="tablist" class="van-tabs__nav van-tabs__nav--line" style="border-color: #f44;">
|
<div role="tablist" class="van-tabs__nav van-tabs__nav--line" style="border-color: #f44;">
|
||||||
<div class="van-tabs__line" style="background-color: rgb(255, 68, 68); width: 2px; transform: translateX(0px) translateX(-50%); transition-duration: 0.3s;"></div>
|
|
||||||
<div role="tab" class="van-tab"><span class="van-ellipsis">title1</span></div>
|
<div role="tab" class="van-tab"><span class="van-ellipsis">title1</span></div>
|
||||||
<div role="tab" class="van-tab van-tab--active" aria-selected="true"><span class="van-ellipsis"><div><span>title2</span></div></span>
|
<div role="tab" class="van-tab van-tab--active" aria-selected="true"><span class="van-ellipsis">title2</span></div>
|
||||||
|
<div role="tab" class="van-tab van-tab--disabled"><span class="van-ellipsis">title3</span></div>
|
||||||
|
<div class="van-tabs__line" style="background-color: rgb(255, 68, 68); width: 2px; transform: translateX(0px) translateX(-50%); transition-duration: 0.3s;"></div>
|
||||||
</div>
|
</div>
|
||||||
<div role="tab" class="van-tab van-tab--disabled"><span class="van-ellipsis">title3</span></div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div class="van-tabs__content">
|
||||||
<div class="van-tabs__content">
|
<div role="tabpanel" class="van-tab__pane" style="display: none;">Text</div>
|
||||||
<div role="tabpanel" class="van-tab__pane" style="display: none;">Text</div>
|
<div role="tabpanel" class="van-tab__pane" style="">Text</div>
|
||||||
<div role="tabpanel" class="van-tab__pane" style="">
|
<div role="tabpanel" class="van-tab__pane" style="display: none;">
|
||||||
Text
|
<!---->
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div role="tabpanel" class="van-tab__pane" style="display: none;">
|
|
||||||
<!---->
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
`;
|
`;
|
||||||
|
|
||||||
@ -106,17 +100,16 @@ exports[`lazy render 1`] = `
|
|||||||
<div class="van-tabs van-tabs--line">
|
<div class="van-tabs van-tabs--line">
|
||||||
<div class="van-tabs__wrap van-hairline--top-bottom">
|
<div class="van-tabs__wrap van-hairline--top-bottom">
|
||||||
<div role="tablist" class="van-tabs__nav van-tabs__nav--line" style="border-color: #f44;">
|
<div role="tablist" class="van-tabs__nav van-tabs__nav--line" style="border-color: #f44;">
|
||||||
<div class="van-tabs__line" style="background-color: rgb(255, 68, 68);"></div>
|
|
||||||
<div role="tab" aria-selected="true" class="van-tab van-tab--active"><span class="van-ellipsis">title1</span></div>
|
<div role="tab" aria-selected="true" class="van-tab van-tab--active"><span class="van-ellipsis">title1</span></div>
|
||||||
<div role="tab" class="van-tab"><span class="van-ellipsis"></span></div>
|
<div role="tab" class="van-tab"><span class="van-ellipsis">title2</span></div>
|
||||||
<div role="tab" class="van-tab van-tab--disabled"><span class="van-ellipsis">title3</span></div>
|
<div role="tab" class="van-tab van-tab--disabled"><span class="van-ellipsis">title3</span></div>
|
||||||
|
<div class="van-tabs__line" style="background-color: rgb(255, 68, 68);"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="van-tabs__content">
|
<div class="van-tabs__content">
|
||||||
<div role="tabpanel" class="van-tab__pane">Text</div>
|
<div role="tabpanel" class="van-tab__pane">Text</div>
|
||||||
<div role="tabpanel" class="van-tab__pane" style="display: none;">
|
<div role="tabpanel" class="van-tab__pane" style="display: none;">
|
||||||
<!---->
|
<!---->
|
||||||
<div><span>title2</span></div>
|
|
||||||
</div>
|
</div>
|
||||||
<div role="tabpanel" class="van-tab__pane" style="display: none;">
|
<div role="tabpanel" class="van-tab__pane" style="display: none;">
|
||||||
<!---->
|
<!---->
|
||||||
@ -129,37 +122,33 @@ exports[`lazy render 2`] = `
|
|||||||
<div class="van-tabs van-tabs--line">
|
<div class="van-tabs van-tabs--line">
|
||||||
<div class="van-tabs__wrap van-hairline--top-bottom">
|
<div class="van-tabs__wrap van-hairline--top-bottom">
|
||||||
<div role="tablist" class="van-tabs__nav van-tabs__nav--line" style="border-color: #f44;">
|
<div role="tablist" class="van-tabs__nav van-tabs__nav--line" style="border-color: #f44;">
|
||||||
<div class="van-tabs__line" style="background-color: rgb(255, 68, 68); width: 2px; transform: translateX(0px) translateX(-50%);"></div>
|
|
||||||
<div role="tab" aria-selected="true" class="van-tab van-tab--active"><span class="van-ellipsis">title1</span></div>
|
<div role="tab" aria-selected="true" class="van-tab van-tab--active"><span class="van-ellipsis">title1</span></div>
|
||||||
<div role="tab" class="van-tab"><span class="van-ellipsis"><div><span>title2</span></div></span>
|
<div role="tab" class="van-tab"><span class="van-ellipsis">title2</span></div>
|
||||||
|
<div role="tab" class="van-tab van-tab--disabled"><span class="van-ellipsis">title3</span></div>
|
||||||
|
<div class="van-tabs__line" style="background-color: rgb(255, 68, 68); width: 2px; transform: translateX(0px) translateX(-50%);"></div>
|
||||||
</div>
|
</div>
|
||||||
<div role="tab" class="van-tab van-tab--disabled"><span class="van-ellipsis">title3</span></div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div class="van-tabs__content">
|
||||||
<div class="van-tabs__content">
|
<div role="tabpanel" class="van-tab__pane">Text</div>
|
||||||
<div role="tabpanel" class="van-tab__pane">Text</div>
|
<div role="tabpanel" class="van-tab__pane" style="display: none;">Text</div>
|
||||||
<div role="tabpanel" class="van-tab__pane" style="display: none;">
|
<div role="tabpanel" class="van-tab__pane" style="display: none;">Text</div>
|
||||||
Text
|
|
||||||
</div>
|
</div>
|
||||||
<div role="tabpanel" class="van-tab__pane" style="display: none;">Text</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
`;
|
`;
|
||||||
|
|
||||||
exports[`render nav-left & nav-right slot 1`] = `
|
exports[`render nav-left & nav-right slot 1`] = `
|
||||||
<div class="van-tabs van-tabs--line">
|
<div class="van-tabs van-tabs--line">
|
||||||
<div class="van-tabs__wrap van-hairline--top-bottom">
|
<div class="van-tabs__wrap van-hairline--top-bottom">
|
||||||
<div role="tablist" class="van-tabs__nav van-tabs__nav--line" style="border-color: #f44;">Nav Left<div class="van-tabs__line" style="background-color: rgb(255, 68, 68);"></div>
|
<div role="tablist" class="van-tabs__nav van-tabs__nav--line" style="border-color: #f44;">Nav Left<div role="tab" aria-selected="true" class="van-tab van-tab--active"><span class="van-ellipsis">title1</span></div>
|
||||||
<div role="tab" aria-selected="true" class="van-tab van-tab--active"><span class="van-ellipsis">title1</span></div>
|
<div role="tab" class="van-tab"><span class="van-ellipsis">title2</span></div>
|
||||||
<div role="tab" class="van-tab"><span class="van-ellipsis"></span></div>
|
<div role="tab" class="van-tab van-tab--disabled"><span class="van-ellipsis">title3</span></div>
|
||||||
<div role="tab" class="van-tab van-tab--disabled"><span class="van-ellipsis">title3</span></div>Nav Right
|
<div class="van-tabs__line" style="background-color: rgb(255, 68, 68);"></div>Nav Right
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="van-tabs__content">
|
<div class="van-tabs__content">
|
||||||
<div role="tabpanel" class="van-tab__pane">Text</div>
|
<div role="tabpanel" class="van-tab__pane">Text</div>
|
||||||
<div role="tabpanel" class="van-tab__pane" style="display: none;">
|
<div role="tabpanel" class="van-tab__pane" style="display: none;">
|
||||||
<!---->
|
<!---->
|
||||||
<div><span>title2</span></div>
|
|
||||||
</div>
|
</div>
|
||||||
<div role="tabpanel" class="van-tab__pane" style="display: none;">
|
<div role="tabpanel" class="van-tab__pane" style="display: none;">
|
||||||
<!---->
|
<!---->
|
||||||
@ -172,22 +161,21 @@ exports[`swipe to switch tab 1`] = `
|
|||||||
<div class="van-tabs van-tabs--line">
|
<div class="van-tabs van-tabs--line">
|
||||||
<div class="van-tabs__wrap van-hairline--top-bottom">
|
<div class="van-tabs__wrap van-hairline--top-bottom">
|
||||||
<div role="tablist" class="van-tabs__nav van-tabs__nav--line" style="border-color: #f44;">
|
<div role="tablist" class="van-tabs__nav van-tabs__nav--line" style="border-color: #f44;">
|
||||||
<div class="van-tabs__line" style="background-color: rgb(255, 68, 68);"></div>
|
|
||||||
<div role="tab" aria-selected="true" class="van-tab van-tab--active"><span class="van-ellipsis">title1</span></div>
|
<div role="tab" aria-selected="true" class="van-tab van-tab--active"><span class="van-ellipsis">title1</span></div>
|
||||||
<div role="tab" class="van-tab"><span class="van-ellipsis"><div><span>title2</span></div></span>
|
<div role="tab" class="van-tab"><span class="van-ellipsis">title2</span></div>
|
||||||
|
<div role="tab" class="van-tab van-tab--disabled"><span class="van-ellipsis">title3</span></div>
|
||||||
|
<div class="van-tabs__line" style="background-color: rgb(255, 68, 68);"></div>
|
||||||
</div>
|
</div>
|
||||||
<div role="tab" class="van-tab van-tab--disabled"><span class="van-ellipsis">title3</span></div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div class="van-tabs__content">
|
||||||
<div class="van-tabs__content">
|
<div role="tabpanel" class="van-tab__pane">Text</div>
|
||||||
<div role="tabpanel" class="van-tab__pane">Text</div>
|
<div role="tabpanel" class="van-tab__pane" style="display: none;">
|
||||||
<div role="tabpanel" class="van-tab__pane" style="display: none;">
|
<!---->
|
||||||
<!---->
|
</div>
|
||||||
|
<div role="tabpanel" class="van-tab__pane" style="display: none;">
|
||||||
|
<!---->
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div role="tabpanel" class="van-tab__pane" style="display: none;">
|
|
||||||
<!---->
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
`;
|
`;
|
||||||
|
|
||||||
@ -195,22 +183,19 @@ exports[`swipe to switch tab 2`] = `
|
|||||||
<div class="van-tabs van-tabs--line">
|
<div class="van-tabs van-tabs--line">
|
||||||
<div class="van-tabs__wrap van-hairline--top-bottom">
|
<div class="van-tabs__wrap van-hairline--top-bottom">
|
||||||
<div role="tablist" class="van-tabs__nav van-tabs__nav--line" style="border-color: #f44;">
|
<div role="tablist" class="van-tabs__nav van-tabs__nav--line" style="border-color: #f44;">
|
||||||
<div class="van-tabs__line" style="background-color: rgb(255, 68, 68);"></div>
|
|
||||||
<div role="tab" aria-selected="true" class="van-tab van-tab--active"><span class="van-ellipsis">title1</span></div>
|
<div role="tab" aria-selected="true" class="van-tab van-tab--active"><span class="van-ellipsis">title1</span></div>
|
||||||
<div role="tab" class="van-tab"><span class="van-ellipsis"><div><span>title2</span></div></span>
|
<div role="tab" class="van-tab"><span class="van-ellipsis">title2</span></div>
|
||||||
|
<div role="tab" class="van-tab van-tab--disabled"><span class="van-ellipsis">title3</span></div>
|
||||||
|
<div class="van-tabs__line" style="background-color: rgb(255, 68, 68);"></div>
|
||||||
</div>
|
</div>
|
||||||
<div role="tab" class="van-tab van-tab--disabled"><span class="van-ellipsis">title3</span></div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div class="van-tabs__content">
|
||||||
<div class="van-tabs__content">
|
<div role="tabpanel" class="van-tab__pane" style="display: none;">Text</div>
|
||||||
<div role="tabpanel" class="van-tab__pane" style="display: none;">Text</div>
|
<div role="tabpanel" class="van-tab__pane" style="">Text</div>
|
||||||
<div role="tabpanel" class="van-tab__pane" style="">
|
<div role="tabpanel" class="van-tab__pane" style="display: none;">
|
||||||
Text
|
<!---->
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div role="tabpanel" class="van-tab__pane" style="display: none;">
|
|
||||||
<!---->
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
`;
|
`;
|
||||||
|
|
||||||
@ -218,22 +203,19 @@ exports[`swipe to switch tab 3`] = `
|
|||||||
<div class="van-tabs van-tabs--line">
|
<div class="van-tabs van-tabs--line">
|
||||||
<div class="van-tabs__wrap van-hairline--top-bottom">
|
<div class="van-tabs__wrap van-hairline--top-bottom">
|
||||||
<div role="tablist" class="van-tabs__nav van-tabs__nav--line" style="border-color: #f44;">
|
<div role="tablist" class="van-tabs__nav van-tabs__nav--line" style="border-color: #f44;">
|
||||||
<div class="van-tabs__line" style="background-color: rgb(255, 68, 68);"></div>
|
|
||||||
<div role="tab" aria-selected="true" class="van-tab van-tab--active"><span class="van-ellipsis">title1</span></div>
|
<div role="tab" aria-selected="true" class="van-tab van-tab--active"><span class="van-ellipsis">title1</span></div>
|
||||||
<div role="tab" class="van-tab"><span class="van-ellipsis"><div><span>title2</span></div></span>
|
<div role="tab" class="van-tab"><span class="van-ellipsis">title2</span></div>
|
||||||
|
<div role="tab" class="van-tab van-tab--disabled"><span class="van-ellipsis">title3</span></div>
|
||||||
|
<div class="van-tabs__line" style="background-color: rgb(255, 68, 68);"></div>
|
||||||
</div>
|
</div>
|
||||||
<div role="tab" class="van-tab van-tab--disabled"><span class="van-ellipsis">title3</span></div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div class="van-tabs__content">
|
||||||
<div class="van-tabs__content">
|
<div role="tabpanel" class="van-tab__pane" style="display: none;">Text</div>
|
||||||
<div role="tabpanel" class="van-tab__pane" style="display: none;">Text</div>
|
<div role="tabpanel" class="van-tab__pane" style="">Text</div>
|
||||||
<div role="tabpanel" class="van-tab__pane" style="">
|
<div role="tabpanel" class="van-tab__pane" style="display: none;">
|
||||||
Text
|
<!---->
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div role="tabpanel" class="van-tab__pane" style="display: none;">
|
|
||||||
<!---->
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
`;
|
`;
|
||||||
|
|
||||||
@ -241,21 +223,18 @@ exports[`swipe to switch tab 4`] = `
|
|||||||
<div class="van-tabs van-tabs--line">
|
<div class="van-tabs van-tabs--line">
|
||||||
<div class="van-tabs__wrap van-hairline--top-bottom">
|
<div class="van-tabs__wrap van-hairline--top-bottom">
|
||||||
<div role="tablist" class="van-tabs__nav van-tabs__nav--line" style="border-color: #f44;">
|
<div role="tablist" class="van-tabs__nav van-tabs__nav--line" style="border-color: #f44;">
|
||||||
<div class="van-tabs__line" style="background-color: rgb(255, 68, 68);"></div>
|
|
||||||
<div role="tab" aria-selected="true" class="van-tab van-tab--active"><span class="van-ellipsis">title1</span></div>
|
<div role="tab" aria-selected="true" class="van-tab van-tab--active"><span class="van-ellipsis">title1</span></div>
|
||||||
<div role="tab" class="van-tab"><span class="van-ellipsis"><div><span>title2</span></div></span>
|
<div role="tab" class="van-tab"><span class="van-ellipsis">title2</span></div>
|
||||||
|
<div role="tab" class="van-tab van-tab--disabled"><span class="van-ellipsis">title3</span></div>
|
||||||
|
<div class="van-tabs__line" style="background-color: rgb(255, 68, 68);"></div>
|
||||||
</div>
|
</div>
|
||||||
<div role="tab" class="van-tab van-tab--disabled"><span class="van-ellipsis">title3</span></div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div class="van-tabs__content">
|
||||||
<div class="van-tabs__content">
|
<div role="tabpanel" class="van-tab__pane" style="">Text</div>
|
||||||
<div role="tabpanel" class="van-tab__pane" style="">Text</div>
|
<div role="tabpanel" class="van-tab__pane" style="display: none;">Text</div>
|
||||||
<div role="tabpanel" class="van-tab__pane" style="display: none;">
|
<div role="tabpanel" class="van-tab__pane" style="display: none;">
|
||||||
Text
|
<!---->
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div role="tabpanel" class="van-tab__pane" style="display: none;">
|
|
||||||
<!---->
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
`;
|
`;
|
||||||
|
@ -19,17 +19,13 @@ function createWrapper(options = {}) {
|
|||||||
@change="onChange"
|
@change="onChange"
|
||||||
>
|
>
|
||||||
${options.extraTemplate || ''}
|
${options.extraTemplate || ''}
|
||||||
<van-tab :title="title1">Text</van-tab>
|
<van-tab title="title1">Text</van-tab>
|
||||||
<van-tab>
|
<van-tab title="title2">Text</van-tab>
|
||||||
<span slot="title">title2</span>
|
|
||||||
Text
|
|
||||||
</van-tab>
|
|
||||||
<van-tab title="title3" disabled>Text</van-tab>
|
<van-tab title="title3" disabled>Text</van-tab>
|
||||||
</van-tabs>
|
</van-tabs>
|
||||||
`,
|
`,
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
title1: 'title1',
|
|
||||||
color: '#f44',
|
color: '#f44',
|
||||||
type: 'line',
|
type: 'line',
|
||||||
swipeable: true,
|
swipeable: true,
|
||||||
@ -96,8 +92,7 @@ test('change tabs data', async () => {
|
|||||||
swipeable: false,
|
swipeable: false,
|
||||||
sticky: false,
|
sticky: false,
|
||||||
type: 'card',
|
type: 'card',
|
||||||
color: 'blue',
|
color: 'blue'
|
||||||
title1: 'new title1'
|
|
||||||
});
|
});
|
||||||
|
|
||||||
await later();
|
await later();
|
||||||
|
82
packages/tabs/Title.js
Normal file
82
packages/tabs/Title.js
Normal file
@ -0,0 +1,82 @@
|
|||||||
|
import { use } from '../utils';
|
||||||
|
|
||||||
|
const bem = use('tab')[1];
|
||||||
|
|
||||||
|
export default {
|
||||||
|
props: {
|
||||||
|
type: String,
|
||||||
|
color: String,
|
||||||
|
title: String,
|
||||||
|
active: Boolean,
|
||||||
|
ellipsis: Boolean,
|
||||||
|
disabled: Boolean,
|
||||||
|
scrollable: Boolean,
|
||||||
|
activeColor: String,
|
||||||
|
inactiveColor: String,
|
||||||
|
swipeThreshold: Number
|
||||||
|
},
|
||||||
|
|
||||||
|
computed: {
|
||||||
|
style() {
|
||||||
|
const style = {};
|
||||||
|
const { color, active } = this;
|
||||||
|
const isCard = this.type === 'card';
|
||||||
|
|
||||||
|
// card theme color
|
||||||
|
if (color && isCard) {
|
||||||
|
style.borderColor = color;
|
||||||
|
|
||||||
|
if (!this.disabled) {
|
||||||
|
if (active) {
|
||||||
|
style.backgroundColor = color;
|
||||||
|
} else {
|
||||||
|
style.color = color;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const titleColor = active ? this.activeColor : this.inactiveColor;
|
||||||
|
if (titleColor) {
|
||||||
|
style.color = titleColor;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this.scrollable && this.ellipsis) {
|
||||||
|
style.flexBasis = `${88 / this.swipeThreshold}%`;
|
||||||
|
}
|
||||||
|
|
||||||
|
return style;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
methods: {
|
||||||
|
onClick() {
|
||||||
|
this.$emit('click');
|
||||||
|
},
|
||||||
|
|
||||||
|
renderTitle(el) {
|
||||||
|
const { title } = this.$refs;
|
||||||
|
title.innerHTML = '';
|
||||||
|
title.appendChild(el);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
render(h) {
|
||||||
|
return (
|
||||||
|
<div
|
||||||
|
role="tab"
|
||||||
|
aria-selected={this.active}
|
||||||
|
class={bem({
|
||||||
|
active: this.active,
|
||||||
|
disabled: this.disabled,
|
||||||
|
complete: !this.ellipsis
|
||||||
|
})}
|
||||||
|
style={this.style}
|
||||||
|
onClick={this.onClick}
|
||||||
|
>
|
||||||
|
<span ref="title" class={{ 'van-ellipsis': this.ellipsis }}>
|
||||||
|
{this.title}
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
};
|
@ -10,9 +10,9 @@ import {
|
|||||||
getElementTop,
|
getElementTop,
|
||||||
getScrollEventTarget
|
getScrollEventTarget
|
||||||
} from '../utils/dom/scroll';
|
} from '../utils/dom/scroll';
|
||||||
|
import Title from './Title';
|
||||||
|
|
||||||
const [sfc, bem] = use('tabs');
|
const [sfc, bem] = use('tabs');
|
||||||
const tabBem = use('tab')[1];
|
|
||||||
|
|
||||||
export default sfc({
|
export default sfc({
|
||||||
mixins: [
|
mixins: [
|
||||||
@ -225,16 +225,16 @@ export default sfc({
|
|||||||
const shouldAnimate = this.inited;
|
const shouldAnimate = this.inited;
|
||||||
|
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
const { tabs } = this.$refs;
|
const { titles } = this.$refs;
|
||||||
|
|
||||||
if (!tabs || !tabs[this.curActive] || this.type !== 'line') {
|
if (!titles || !titles[this.curActive] || this.type !== 'line') {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const tab = tabs[this.curActive];
|
const title = titles[this.curActive].$el;
|
||||||
const { lineWidth, lineHeight } = this;
|
const { lineWidth, lineHeight } = this;
|
||||||
const width = isDef(lineWidth) ? lineWidth : tab.offsetWidth / 2;
|
const width = isDef(lineWidth) ? lineWidth : title.offsetWidth / 2;
|
||||||
const left = tab.offsetLeft + tab.offsetWidth / 2;
|
const left = title.offsetLeft + title.offsetWidth / 2;
|
||||||
|
|
||||||
const lineStyle = {
|
const lineStyle = {
|
||||||
width: suffixPx(width),
|
width: suffixPx(width),
|
||||||
@ -301,15 +301,15 @@ export default sfc({
|
|||||||
|
|
||||||
// scroll active tab into view
|
// scroll active tab into view
|
||||||
scrollIntoView(immediate) {
|
scrollIntoView(immediate) {
|
||||||
const { tabs } = this.$refs;
|
const { titles } = this.$refs;
|
||||||
|
|
||||||
if (!this.scrollable || !tabs || !tabs[this.curActive]) {
|
if (!this.scrollable || !titles || !titles[this.curActive]) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const { nav } = this.$refs;
|
const { nav } = this.$refs;
|
||||||
const active = tabs[this.curActive];
|
const title = titles[this.curActive].$el;
|
||||||
const to = active.offsetLeft - (nav.offsetWidth - active.offsetWidth) / 2;
|
const to = title.offsetLeft - (nav.offsetWidth - title.offsetWidth) / 2;
|
||||||
|
|
||||||
scrollLeftTo(nav, to, immediate ? 0 : this.duration);
|
scrollLeftTo(nav, to, immediate ? 0 : this.duration);
|
||||||
},
|
},
|
||||||
@ -317,67 +317,32 @@ export default sfc({
|
|||||||
// render title slot of child tab
|
// render title slot of child tab
|
||||||
renderTitle(el, index) {
|
renderTitle(el, index) {
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
const title = this.$refs.title[index];
|
this.$refs.titles[index].renderTitle(el);
|
||||||
title.innerHTML = '';
|
|
||||||
title.appendChild(el);
|
|
||||||
});
|
});
|
||||||
},
|
|
||||||
|
|
||||||
getTabStyle(item, index) {
|
|
||||||
const style = {};
|
|
||||||
const { color } = this;
|
|
||||||
const active = index === this.curActive;
|
|
||||||
const isCard = this.type === 'card';
|
|
||||||
|
|
||||||
// theme color
|
|
||||||
if (color) {
|
|
||||||
if (!item.disabled && isCard && !active) {
|
|
||||||
style.color = color;
|
|
||||||
}
|
|
||||||
if (!item.disabled && isCard && active) {
|
|
||||||
style.backgroundColor = color;
|
|
||||||
}
|
|
||||||
if (isCard) {
|
|
||||||
style.borderColor = color;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
const titleColor = active ? this.titleActiveColor : this.titleInactiveColor;
|
|
||||||
if (titleColor) {
|
|
||||||
style.color = titleColor;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (this.scrollable && this.ellipsis) {
|
|
||||||
style.flexBasis = 88 / this.swipeThreshold + '%';
|
|
||||||
}
|
|
||||||
|
|
||||||
return style;
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
render(h) {
|
render(h) {
|
||||||
const { type, ellipsis, animated, scrollable } = this;
|
const { type, ellipsis, animated, scrollable } = this;
|
||||||
|
|
||||||
const Nav = this.children.map((tab, index) => (
|
const Nav = this.children.map((item, index) => (
|
||||||
<div
|
<Title
|
||||||
ref="tabs"
|
ref="titles"
|
||||||
refInFor
|
refInFor
|
||||||
role="tab"
|
type={type}
|
||||||
aria-selected={index === this.curActive}
|
title={item.title}
|
||||||
class={tabBem({
|
color={this.color}
|
||||||
active: index === this.curActive,
|
active={index === this.curActive}
|
||||||
disabled: tab.disabled,
|
ellipsis={ellipsis}
|
||||||
complete: !ellipsis
|
disabled={item.disabled}
|
||||||
})}
|
scrollable={scrollable}
|
||||||
style={this.getTabStyle(tab, index)}
|
activeColor={this.titleActiveColor}
|
||||||
|
inactiveColor={this.titleInactiveColor}
|
||||||
|
swipeThreshold={this.swipeThreshold}
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
this.onClick(index);
|
this.onClick(index);
|
||||||
}}
|
}}
|
||||||
>
|
/>
|
||||||
<span ref="title" refInFor class={{ 'van-ellipsis': ellipsis }}>
|
|
||||||
{tab.title}
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
));
|
));
|
||||||
|
|
||||||
let contentListeners;
|
let contentListeners;
|
||||||
@ -402,8 +367,8 @@ export default sfc({
|
|||||||
>
|
>
|
||||||
<div ref="nav" role="tablist" class={bem('nav', [type])} style={this.navStyle}>
|
<div ref="nav" role="tablist" class={bem('nav', [type])} style={this.navStyle}>
|
||||||
{this.slots('nav-left')}
|
{this.slots('nav-left')}
|
||||||
{type === 'line' && <div class={bem('line')} style={this.lineStyle} />}
|
|
||||||
{Nav}
|
{Nav}
|
||||||
|
{type === 'line' && <div class={bem('line')} style={this.lineStyle} />}
|
||||||
{this.slots('nav-right')}
|
{this.slots('nav-right')}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user