feat(Tab): add dot prop (#5272)

This commit is contained in:
neverland 2019-12-14 22:37:25 +08:00 committed by GitHub
parent a7535cc948
commit ebd69714a1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 125 additions and 88 deletions

View File

@ -12,8 +12,8 @@ exports[`empty-image prop 1`] = `
<div class="van-tabs van-tabs--line van-coupon-list__tab">
<div class="van-tabs__wrap">
<div role="tablist" class="van-tabs__nav van-tabs__nav--line">
<div role="tab" aria-selected="true" class="van-tab van-tab--active"><span class="van-ellipsis">可用 (0)</span></div>
<div role="tab" class="van-tab"><span class="van-ellipsis">不可用 (0)</span></div>
<div role="tab" aria-selected="true" class="van-tab van-tab--active van-ellipsis"><span class="van-tab__text">可用 (0)<!----></span></div>
<div role="tab" class="van-tab van-ellipsis"><span class="van-tab__text">不可用 (0)<!----></span></div>
<div class="van-tabs__line"></div>
</div>
</div>
@ -61,8 +61,8 @@ exports[`render coupon list 1`] = `
<div class="van-tabs van-tabs--line van-coupon-list__tab">
<div class="van-tabs__wrap">
<div role="tablist" class="van-tabs__nav van-tabs__nav--line">
<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" aria-selected="true" class="van-tab van-tab--active van-ellipsis"><span class="van-tab__text">可用 (6)<!----></span></div>
<div role="tab" class="van-tab van-ellipsis"><span class="van-tab__text">不可用 (2)<!----></span></div>
<div class="van-tabs__line"></div>
</div>
</div>
@ -206,8 +206,8 @@ exports[`render empty coupon list 1`] = `
<div class="van-tabs van-tabs--line van-coupon-list__tab">
<div class="van-tabs__wrap">
<div role="tablist" class="van-tabs__nav van-tabs__nav--line">
<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-ellipsis"><span class="van-tab__text">可用 (0)<!----></span></div>
<div role="tab" class="van-tab van-tab--active van-ellipsis" aria-selected="true"><span class="van-tab__text">不可用 (0)<!----></span></div>
<div class="van-tabs__line"></div>
</div>
</div>

View File

@ -206,6 +206,7 @@ export default {
| title | 标题 | *string* | - | - |
| title-style | 自定义标题样式 | *any* | - | 2.2.14 |
| disabled | 是否禁用标签 | *boolean* | `false` | - |
| dot | 是否在标题右上角显示小红点 | *boolean* | `false` | 2.3.0 |
| url | 点击后跳转的链接地址 | *string* | - | 2.2.1 |
| to | 点击后跳转的目标路由对象,同 vue-router 的 [to 属性](https://router.vuejs.org/zh/api/#to) | *string \| object* | - | 2.2.1 |
| replace | 是否在跳转时替换当前页面历史 | *boolean* | `false` | 2.2.1 |

View File

@ -9,6 +9,7 @@ export default createComponent({
props: {
...routeProps,
dot: Boolean,
name: [Number, String],
title: String,
titleStyle: null,

View File

@ -6,10 +6,10 @@ exports[`renders demo correctly 1`] = `
<div class="van-tabs van-tabs--line">
<div class="van-tabs__wrap van-hairline--top-bottom">
<div role="tablist" class="van-tabs__nav van-tabs__nav--line">
<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" 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 van-ellipsis"><span class="van-tab__text">标签 1<!----></span></div>
<div role="tab" class="van-tab van-ellipsis"><span class="van-tab__text">标签 2<!----></span></div>
<div role="tab" aria-selected="true" class="van-tab van-tab--active van-ellipsis"><span class="van-tab__text">标签 3<!----></span></div>
<div role="tab" class="van-tab van-ellipsis"><span class="van-tab__text">标签 4<!----></span></div>
<div class="van-tabs__line" style="width: 0px; transform: translateX(0px) translateX(-50%);"></div>
</div>
</div>
@ -33,9 +33,9 @@ exports[`renders demo correctly 1`] = `
<div class="van-tabs van-tabs--line">
<div class="van-tabs__wrap van-hairline--top-bottom">
<div role="tablist" class="van-tabs__nav van-tabs__nav--line">
<div role="tab" class="van-tab"><span class="van-ellipsis">标签 1</span></div>
<div role="tab" aria-selected="true" class="van-tab van-tab--active"><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 van-ellipsis"><span class="van-tab__text">标签 1<!----></span></div>
<div role="tab" aria-selected="true" class="van-tab van-tab--active van-ellipsis"><span class="van-tab__text">标签 2<!----></span></div>
<div role="tab" class="van-tab van-ellipsis"><span class="van-tab__text">标签 3<!----></span></div>
<div class="van-tabs__line" style="width: 0px; transform: translateX(0px) translateX(-50%);"></div>
</div>
</div>
@ -56,14 +56,14 @@ exports[`renders demo correctly 1`] = `
<div class="van-tabs van-tabs--line">
<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="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">标签 3</span></div>
<div role="tab" class="van-tab" style="flex-basis: 22%;"><span class="van-ellipsis">标签 4</span></div>
<div role="tab" class="van-tab" style="flex-basis: 22%;"><span class="van-ellipsis">标签 5</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">标签 8</span></div>
<div role="tab" aria-selected="true" class="van-tab van-tab--active van-ellipsis" style="flex-basis: 22%;"><span class="van-tab__text">标签 1<!----></span></div>
<div role="tab" class="van-tab van-ellipsis" style="flex-basis: 22%;"><span class="van-tab__text">标签 2<!----></span></div>
<div role="tab" class="van-tab van-ellipsis" style="flex-basis: 22%;"><span class="van-tab__text">标签 3<!----></span></div>
<div role="tab" class="van-tab van-ellipsis" style="flex-basis: 22%;"><span class="van-tab__text">标签 4<!----></span></div>
<div role="tab" class="van-tab van-ellipsis" style="flex-basis: 22%;"><span class="van-tab__text">标签 5<!----></span></div>
<div role="tab" class="van-tab van-ellipsis" style="flex-basis: 22%;"><span class="van-tab__text">标签 6<!----></span></div>
<div role="tab" class="van-tab van-ellipsis" style="flex-basis: 22%;"><span class="van-tab__text">标签 7<!----></span></div>
<div role="tab" class="van-tab van-ellipsis" style="flex-basis: 22%;"><span class="van-tab__text">标签 8<!----></span></div>
<div class="van-tabs__line" style="width: 0px; transform: translateX(0px) translateX(-50%);"></div>
</div>
</div>
@ -99,9 +99,9 @@ exports[`renders demo correctly 1`] = `
<div class="van-tabs van-tabs--line">
<div class="van-tabs__wrap van-hairline--top-bottom">
<div role="tablist" class="van-tabs__nav van-tabs__nav--line">
<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"><span class="van-ellipsis">标签 3</span></div>
<div role="tab" aria-selected="true" class="van-tab van-tab--active van-ellipsis"><span class="van-tab__text">标签 1<!----></span></div>
<div role="tab" class="van-tab van-tab--disabled van-ellipsis"><span class="van-tab__text">标签 2<!----></span></div>
<div role="tab" class="van-tab van-ellipsis"><span class="van-tab__text">标签 3<!----></span></div>
<div class="van-tabs__line" style="width: 0px; transform: translateX(0px) translateX(-50%);"></div>
</div>
</div>
@ -122,9 +122,9 @@ exports[`renders demo correctly 1`] = `
<div class="van-tabs van-tabs--card">
<div class="van-tabs__wrap">
<div role="tablist" class="van-tabs__nav van-tabs__nav--card">
<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">标签 3</span></div>
<div role="tab" aria-selected="true" class="van-tab van-tab--active van-ellipsis"><span class="van-tab__text">标签 1<!----></span></div>
<div role="tab" class="van-tab van-ellipsis"><span class="van-tab__text">标签 2<!----></span></div>
<div role="tab" class="van-tab van-ellipsis"><span class="van-tab__text">标签 3<!----></span></div>
</div>
</div>
<div class="van-tabs__content">
@ -144,8 +144,8 @@ exports[`renders demo correctly 1`] = `
<div class="van-tabs van-tabs--line">
<div class="van-tabs__wrap van-hairline--top-bottom">
<div role="tablist" class="van-tabs__nav van-tabs__nav--line">
<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" aria-selected="true" class="van-tab van-tab--active van-ellipsis"><span class="van-tab__text">标签 1<!----></span></div>
<div role="tab" class="van-tab van-ellipsis"><span class="van-tab__text">标签 2<!----></span></div>
<div class="van-tabs__line" style="width: 0px; transform: translateX(0px) translateX(-50%);"></div>
</div>
</div>
@ -165,10 +165,10 @@ exports[`renders demo correctly 1`] = `
<div class="van-sticky">
<div class="van-tabs__wrap van-hairline--top-bottom">
<div role="tablist" class="van-tabs__nav van-tabs__nav--line">
<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" 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 van-ellipsis"><span class="van-tab__text">标签 1<!----></span></div>
<div role="tab" class="van-tab van-ellipsis"><span class="van-tab__text">标签 2<!----></span></div>
<div role="tab" aria-selected="true" class="van-tab van-tab--active van-ellipsis"><span class="van-tab__text">标签 3<!----></span></div>
<div role="tab" class="van-tab van-ellipsis"><span class="van-tab__text">标签 4<!----></span></div>
<div class="van-tabs__line" style="width: 0px; transform: translateX(0px) translateX(-50%);"></div>
</div>
</div>
@ -194,10 +194,10 @@ exports[`renders demo correctly 1`] = `
<div class="van-tabs van-tabs--line">
<div class="van-tabs__wrap van-hairline--top-bottom">
<div role="tablist" class="van-tabs__nav van-tabs__nav--line">
<div role="tab" aria-selected="true" class="van-tab van-tab--active"><span class="van-ellipsis"><i class="van-icon van-icon-more-o"><!----></i>标签
</span></div>
<div role="tab" class="van-tab"><span class="van-ellipsis"><i class="van-icon van-icon-more-o"><!----></i>标签
</span></div>
<div role="tab" aria-selected="true" class="van-tab van-tab--active van-ellipsis"><span class="van-tab__text"><i class="van-icon van-icon-more-o"><!----></i>标签
<!----></span></div>
<div role="tab" class="van-tab van-ellipsis"><span class="van-tab__text"><i class="van-icon van-icon-more-o"><!----></i>标签
<!----></span></div>
<div class="van-tabs__line" style="width: 0px; transform: translateX(0px) translateX(-50%);"></div>
</div>
</div>
@ -215,10 +215,10 @@ exports[`renders demo correctly 1`] = `
<div class="van-tabs van-tabs--line">
<div class="van-tabs__wrap van-hairline--top-bottom">
<div role="tablist" class="van-tabs__nav van-tabs__nav--line">
<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">标签 3</span></div>
<div role="tab" class="van-tab"><span class="van-ellipsis">标签 4</span></div>
<div role="tab" aria-selected="true" class="van-tab van-tab--active van-ellipsis"><span class="van-tab__text">标签 1<!----></span></div>
<div role="tab" class="van-tab van-ellipsis"><span class="van-tab__text">标签 2<!----></span></div>
<div role="tab" class="van-tab van-ellipsis"><span class="van-tab__text">标签 3<!----></span></div>
<div role="tab" class="van-tab van-ellipsis"><span class="van-tab__text">标签 4<!----></span></div>
<div class="van-tabs__line" style="width: 0px; transform: translateX(0px) translateX(-50%);"></div>
</div>
</div>
@ -252,10 +252,10 @@ exports[`renders demo correctly 1`] = `
<div class="van-tabs van-tabs--line">
<div class="van-tabs__wrap van-hairline--top-bottom">
<div role="tablist" class="van-tabs__nav van-tabs__nav--line">
<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" 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 van-ellipsis"><span class="van-tab__text">标签 1<!----></span></div>
<div role="tab" class="van-tab van-ellipsis"><span class="van-tab__text">标签 2<!----></span></div>
<div role="tab" aria-selected="true" class="van-tab van-tab--active van-ellipsis"><span class="van-tab__text">标签 3<!----></span></div>
<div role="tab" class="van-tab van-ellipsis"><span class="van-tab__text">标签 4<!----></span></div>
<div class="van-tabs__line" style="width: 0px; transform: translateX(0px) translateX(-50%);"></div>
</div>
</div>

View File

@ -17,9 +17,9 @@ exports[`change tabs data 1`] = `
<div class="van-sticky">
<div class="van-tabs__wrap van-hairline--top-bottom">
<div role="tablist" class="van-tabs__nav van-tabs__nav--line" style="border-color: #ee0a24;">
<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 van-tab--disabled"><span class="van-ellipsis">title3</span></div>
<div role="tab" aria-selected="true" class="van-tab van-tab--active van-ellipsis"><span class="van-tab__text">title1<!----></span></div>
<div role="tab" class="van-tab van-ellipsis"><span class="van-tab__text">title2<!----></span></div>
<div role="tab" class="van-tab van-tab--disabled van-ellipsis"><span class="van-tab__text">title3<!----></span></div>
<div class="van-tabs__line" style="background-color: rgb(238, 10, 36);"></div>
</div>
</div>
@ -41,9 +41,9 @@ exports[`change tabs data 2`] = `
<div class="van-tabs van-tabs--card">
<div class="van-tabs__wrap">
<div role="tablist" class="van-tabs__nav van-tabs__nav--card" style="border-color: blue;">
<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="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">title3</span></div>
<div role="tab" aria-selected="true" class="van-tab van-tab--active van-ellipsis" style="border-color: blue; background-color: blue;"><span class="van-tab__text">title1<!----></span></div>
<div role="tab" class="van-tab van-ellipsis" style="border-color: blue; color: blue;"><span class="van-tab__text">title2<!----></span></div>
<div role="tab" class="van-tab van-tab--disabled van-ellipsis" style="border-color: blue;"><span class="van-tab__text">title3<!----></span></div>
</div>
</div>
<div class="van-tabs__content">
@ -62,9 +62,9 @@ exports[`click to switch tab 1`] = `
<div class="van-tabs van-tabs--line">
<div class="van-tabs__wrap van-hairline--top-bottom">
<div role="tablist" class="van-tabs__nav van-tabs__nav--line">
<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 van-tab--disabled"><span class="van-ellipsis">title3</span></div>
<div role="tab" aria-selected="true" class="van-tab van-tab--active van-ellipsis"><span class="van-tab__text">title1<!----></span></div>
<div role="tab" class="van-tab van-ellipsis"><span class="van-tab__text">title2<!----></span></div>
<div role="tab" class="van-tab van-tab--disabled van-ellipsis"><span class="van-tab__text">title3<!----></span></div>
<div class="van-tabs__line" style="width: 0px; transform: translateX(0px) translateX(-50%);"></div>
</div>
</div>
@ -84,9 +84,9 @@ exports[`click to switch tab 2`] = `
<div class="van-tabs van-tabs--line">
<div class="van-tabs__wrap van-hairline--top-bottom">
<div role="tablist" class="van-tabs__nav van-tabs__nav--line">
<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">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-ellipsis"><span class="van-tab__text">title1<!----></span></div>
<div role="tab" class="van-tab van-tab--active van-ellipsis" aria-selected="true"><span class="van-tab__text">title2<!----></span></div>
<div role="tab" class="van-tab van-tab--disabled van-ellipsis"><span class="van-tab__text">title3<!----></span></div>
<div class="van-tabs__line" style="width: 0px; transform: translateX(0px) translateX(-50%); transition-duration: 0.3s;"></div>
</div>
</div>
@ -100,15 +100,29 @@ exports[`click to switch tab 2`] = `
</div>
`;
exports[`dot prop 1`] = `
<div class="van-tabs van-tabs--line">
<div class="van-tabs__wrap van-hairline--top-bottom">
<div role="tablist" class="van-tabs__nav van-tabs__nav--line">
<div role="tab" aria-selected="true" class="van-tab van-tab--active van-ellipsis"><span class="van-tab__text"><div class="van-info van-info--dot"></div></span></div>
<div class="van-tabs__line"></div>
</div>
</div>
<div class="van-tabs__content">
<div role="tabpanel" class="van-tab__pane">Text</div>
</div>
</div>
`;
exports[`lazy render 1`] = `
<div class="van-tabs van-tabs--line">
<div>
<div class="van-sticky">
<div class="van-tabs__wrap van-hairline--top-bottom">
<div role="tablist" class="van-tabs__nav van-tabs__nav--line" style="border-color: #ee0a24;">
<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 van-tab--disabled"><span class="van-ellipsis">title3</span></div>
<div role="tab" aria-selected="true" class="van-tab van-tab--active van-ellipsis"><span class="van-tab__text">title1<!----></span></div>
<div role="tab" class="van-tab van-ellipsis"><span class="van-tab__text">title2<!----></span></div>
<div role="tab" class="van-tab van-tab--disabled van-ellipsis"><span class="van-tab__text">title3<!----></span></div>
<div class="van-tabs__line" style="background-color: rgb(238, 10, 36);"></div>
</div>
</div>
@ -132,9 +146,9 @@ exports[`lazy render 2`] = `
<div class="van-sticky">
<div class="van-tabs__wrap van-hairline--top-bottom">
<div role="tablist" class="van-tabs__nav van-tabs__nav--line" style="border-color: #ee0a24;">
<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 van-tab--disabled"><span class="van-ellipsis">title3</span></div>
<div role="tab" aria-selected="true" class="van-tab van-tab--active van-ellipsis"><span class="van-tab__text">title1<!----></span></div>
<div role="tab" class="van-tab van-ellipsis"><span class="van-tab__text">title2<!----></span></div>
<div role="tab" class="van-tab van-tab--disabled van-ellipsis"><span class="van-tab__text">title3<!----></span></div>
<div class="van-tabs__line" style="background-color: rgb(238, 10, 36); width: 2px; transform: translateX(0px) translateX(-50%);"></div>
</div>
</div>
@ -152,9 +166,9 @@ exports[`name prop 1`] = `
<div class="van-tabs van-tabs--line">
<div class="van-tabs__wrap van-hairline--top-bottom">
<div role="tablist" class="van-tabs__nav van-tabs__nav--line">
<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 van-tab--disabled"><span class="van-ellipsis">title3</span></div>
<div role="tab" aria-selected="true" class="van-tab van-tab--active van-ellipsis"><span class="van-tab__text">title1<!----></span></div>
<div role="tab" class="van-tab van-ellipsis"><span class="van-tab__text">title2<!----></span></div>
<div role="tab" class="van-tab van-tab--disabled van-ellipsis"><span class="van-tab__text">title3<!----></span></div>
<div class="van-tabs__line" style="width: 0px; transform: translateX(0px) translateX(-50%);"></div>
</div>
</div>
@ -175,9 +189,9 @@ exports[`render nav-left & nav-right slot 1`] = `
<div>
<div class="van-sticky">
<div class="van-tabs__wrap van-hairline--top-bottom">
<div role="tablist" class="van-tabs__nav van-tabs__nav--line" style="border-color: #ee0a24;">Nav Left<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 van-tab--disabled"><span class="van-ellipsis">title3</span></div>
<div role="tablist" class="van-tabs__nav van-tabs__nav--line" style="border-color: #ee0a24;">Nav Left<div role="tab" aria-selected="true" class="van-tab van-tab--active van-ellipsis"><span class="van-tab__text">title1<!----></span></div>
<div role="tab" class="van-tab van-ellipsis"><span class="van-tab__text">title2<!----></span></div>
<div role="tab" class="van-tab van-tab--disabled van-ellipsis"><span class="van-tab__text">title3<!----></span></div>
<div class="van-tabs__line" style="background-color: rgb(238, 10, 36);"></div>Nav Right
</div>
</div>
@ -199,9 +213,9 @@ exports[`swipe to switch tab 1`] = `
<div class="van-tabs van-tabs--line">
<div class="van-tabs__wrap van-hairline--top-bottom">
<div role="tablist" class="van-tabs__nav van-tabs__nav--line">
<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 van-tab--disabled"><span class="van-ellipsis">title3</span></div>
<div role="tab" aria-selected="true" class="van-tab van-tab--active van-ellipsis"><span class="van-tab__text">title1<!----></span></div>
<div role="tab" class="van-tab van-ellipsis"><span class="van-tab__text">title2<!----></span></div>
<div role="tab" class="van-tab van-tab--disabled van-ellipsis"><span class="van-tab__text">title3<!----></span></div>
<div class="van-tabs__line"></div>
</div>
</div>
@ -221,9 +235,9 @@ exports[`swipe to switch tab 2`] = `
<div class="van-tabs van-tabs--line">
<div class="van-tabs__wrap van-hairline--top-bottom">
<div role="tablist" class="van-tabs__nav van-tabs__nav--line">
<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 van-tab--disabled"><span class="van-ellipsis">title3</span></div>
<div role="tab" aria-selected="true" class="van-tab van-tab--active van-ellipsis"><span class="van-tab__text">title1<!----></span></div>
<div role="tab" class="van-tab van-ellipsis"><span class="van-tab__text">title2<!----></span></div>
<div role="tab" class="van-tab van-tab--disabled van-ellipsis"><span class="van-tab__text">title3<!----></span></div>
<div class="van-tabs__line"></div>
</div>
</div>
@ -241,9 +255,9 @@ exports[`swipe to switch tab 3`] = `
<div class="van-tabs van-tabs--line">
<div class="van-tabs__wrap van-hairline--top-bottom">
<div role="tablist" class="van-tabs__nav van-tabs__nav--line">
<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 van-tab--disabled"><span class="van-ellipsis">title3</span></div>
<div role="tab" aria-selected="true" class="van-tab van-tab--active van-ellipsis"><span class="van-tab__text">title1<!----></span></div>
<div role="tab" class="van-tab van-ellipsis"><span class="van-tab__text">title2<!----></span></div>
<div role="tab" class="van-tab van-tab--disabled van-ellipsis"><span class="van-tab__text">title3<!----></span></div>
<div class="van-tabs__line"></div>
</div>
</div>

View File

@ -239,3 +239,15 @@ test('title-style prop', () => {
expect(wrapper.find('.van-tab').element.style.color).toEqual('red');
});
test('dot prop', () => {
const wrapper = mount({
template: `
<van-tabs>
<van-tab dot>Text</van-tab>
</van-tabs>
`
});
expect(wrapper).toMatchSnapshot();
});

View File

@ -1,9 +1,11 @@
import { createNamespace } from '../utils';
import Info from '../info';
const [createComponent, bem] = createNamespace('tab');
export default createComponent({
props: {
dot: Boolean,
type: String,
color: String,
title: String,
@ -59,16 +61,22 @@ export default createComponent({
<div
role="tab"
aria-selected={this.isActive}
class={bem({
active: this.isActive,
disabled: this.disabled,
complete: !this.ellipsis
})}
class={[
bem({
active: this.isActive,
disabled: this.disabled,
complete: !this.ellipsis
}),
{
'van-ellipsis': this.ellipsis
}
]}
style={this.style}
onClick={this.onClick}
>
<span class={{ 'van-ellipsis': this.ellipsis }}>
<span class={bem('text')}>
{this.slots() || this.title}
<Info dot={this.dot} />
</span>
</div>
);

View File

@ -268,6 +268,7 @@ export default createComponent({
<Title
ref="titles"
refInFor
dot={item.dot}
type={type}
title={item.title}
color={this.color}

View File

@ -12,10 +12,6 @@
text-align: center;
cursor: pointer;
span {
display: block;
}
&--active {
color: @tab-active-text-color;
font-weight: @font-weight-bold;
@ -24,6 +20,10 @@
&--disabled {
color: @tab-disabled-text-color;
}
&__text {
position: relative;
}
}
.van-tabs {