[bugfix] Tab: return default active when all tabs disabled (#1926)

This commit is contained in:
neverland 2018-10-12 20:03:11 +08:00 committed by GitHub
parent 7e8cb981bc
commit 3d8a2c795f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 23 additions and 36 deletions

View File

@ -18,7 +18,7 @@
<demo-block :title="$t('title3')">
<van-tabs @disabled="onClickDisabled">
<van-tab v-for="index in 4" :title="$t('tab') + index" :disabled="index === 2" :key="index">
<van-tab v-for="index in 3" :title="$t('tab') + index" :disabled="index === 2" :key="index">
{{ $t('content') }} {{ index }}
</van-tab>
</van-tabs>
@ -26,7 +26,7 @@
<demo-block :title="$t('title4')">
<van-tabs type="card">
<van-tab v-for="index in 4" :title="$t('tab') + index" :key="index">
<van-tab v-for="index in 3" :title="$t('tab') + index" :key="index">
{{ $t('content') }} {{ index }}
</van-tab>
</van-tabs>
@ -34,7 +34,7 @@
<demo-block :title="$t('title5')">
<van-tabs @click="onClick">
<van-tab v-for="index in 4" :title="$t('tab') + index" :key="index">
<van-tab v-for="index in 2" :title="$t('tab') + index" :key="index">
{{ $t('content') }} {{ index }}
</van-tab>
</van-tabs>
@ -73,7 +73,7 @@
export default {
i18n: {
'zh-CN': {
tab: '选项 ',
tab: '标签 ',
title2: '横向滚动',
title3: '禁用标签',
title4: '样式风格',

View File

@ -49,7 +49,7 @@ You can set `disabled` attribute on the corresponding `van-tab`.
```html
<van-tabs @disabled="onClickDisabled">
<van-tab v-for="index in 4" :title="'tab' + index" :disabled="index === 2">
<van-tab v-for="index in 3" :title="'tab' + index" :disabled="index === 2">
content of tab {{ index }}
</van-tab>
</van-tabs>
@ -71,7 +71,7 @@ Tabs styled as cards.
```html
<van-tabs type="card">
<van-tab v-for="index in 4" :title="'tab' + index">
<van-tab v-for="index in 3" :title="'tab' + index">
content of tab {{ index }}
</van-tab>
</van-tabs>
@ -81,7 +81,7 @@ Tabs styled as cards.
```html
<van-tabs @click="onClick">
<van-tab v-for="index in 4" :title="'tab' + index">
<van-tab v-for="index in 2" :title="'tab' + index">
content of tab {{ index }}
</van-tab>
</van-tabs>

View File

@ -92,10 +92,6 @@ exports[`renders demo correctly 1`] = `
<!---->
<!---->
</div>
<div class="van-tab__pane" style="display:none;">
<!---->
<!---->
</div>
</div>
</div>
</div>
@ -119,10 +115,6 @@ exports[`renders demo correctly 1`] = `
<!---->
<!---->
</div>
<div class="van-tab__pane" style="display:none;">
<!---->
<!---->
</div>
</div>
</div>
</div>
@ -142,14 +134,6 @@ exports[`renders demo correctly 1`] = `
<!---->
<!---->
</div>
<div class="van-tab__pane" style="display:none;">
<!---->
<!---->
</div>
<div class="van-tab__pane" style="display:none;">
<!---->
<!---->
</div>
</div>
</div>
</div>
@ -194,7 +178,7 @@ exports[`renders demo correctly 1`] = `
<div>
<i class="van-icon van-icon-more-o" style="color:undefined;font-size:undefined;">
<!---->
</i>选项
</i>标签
</div>
</div>
</div>
@ -204,7 +188,7 @@ exports[`renders demo correctly 1`] = `
<div>
<i class="van-icon van-icon-more-o" style="color:undefined;font-size:undefined;">
<!---->
</i>选项
</i>标签
</div>
</div>
</div>

View File

@ -38,7 +38,7 @@ export default {
```html
<van-tabs>
<van-tab v-for="index in 8" :title="'选项 ' + index">
<van-tab v-for="index in 8" :title="'标签 ' + index">
内容 {{ index }}
</van-tab>
</van-tabs>
@ -50,9 +50,9 @@ export default {
```html
<van-tabs @disabled="onClickDisabled">
<van-tab v-for="index in 4" :title="'选项 ' + index" :disabled="index === 2">
内容 {{ index }}
</van-tab>
<van-tab title="标签 1">内容 1</van-tab>
<van-tab title="标签 2" disabled>内容 2</van-tab>
<van-tab title="标签 3">内容 3</van-tab>
</van-tabs>
```
@ -72,9 +72,9 @@ export default {
```html
<van-tabs type="card">
<van-tab v-for="index in 4" :title="'选项 ' + index">
内容 {{ index }}
</van-tab>
<van-tab title="标签 1">内容 1</van-tab>
<van-tab title="标签 2">内容 2</van-tab>
<van-tab title="标签 3">内容 3</van-tab>
</van-tabs>
```
@ -84,9 +84,8 @@ export default {
```html
<van-tabs @click="onClick">
<van-tab v-for="index in 4" :title="'选项 ' + index">
内容 {{ index }}
</van-tab>
<van-tab title="标签 1">内容 1</van-tab>
<van-tab title="标签 2">内容 2</van-tab>
</van-tabs>
```

View File

@ -288,14 +288,18 @@ export default create({
}
},
findAvailableTab(index, reverse) {
findAvailableTab(active, reverse) {
const diff = reverse ? -1 : 1;
let index = active;
while (index >= 0 && index < this.tabs.length) {
if (!this.tabs[index].disabled) {
return index;
}
index += diff;
}
return active;
},
// emit event when clicked