mirror of
https://gitee.com/vant-contrib/vant.git
synced 2025-04-25 02:41:46 +08:00
[bugfix] Tab: return default active when all tabs disabled (#1926)
This commit is contained in:
parent
7e8cb981bc
commit
3d8a2c795f
@ -18,7 +18,7 @@
|
|||||||
|
|
||||||
<demo-block :title="$t('title3')">
|
<demo-block :title="$t('title3')">
|
||||||
<van-tabs @disabled="onClickDisabled">
|
<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 }}
|
{{ $t('content') }} {{ index }}
|
||||||
</van-tab>
|
</van-tab>
|
||||||
</van-tabs>
|
</van-tabs>
|
||||||
@ -26,7 +26,7 @@
|
|||||||
|
|
||||||
<demo-block :title="$t('title4')">
|
<demo-block :title="$t('title4')">
|
||||||
<van-tabs type="card">
|
<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 }}
|
{{ $t('content') }} {{ index }}
|
||||||
</van-tab>
|
</van-tab>
|
||||||
</van-tabs>
|
</van-tabs>
|
||||||
@ -34,7 +34,7 @@
|
|||||||
|
|
||||||
<demo-block :title="$t('title5')">
|
<demo-block :title="$t('title5')">
|
||||||
<van-tabs @click="onClick">
|
<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 }}
|
{{ $t('content') }} {{ index }}
|
||||||
</van-tab>
|
</van-tab>
|
||||||
</van-tabs>
|
</van-tabs>
|
||||||
@ -73,7 +73,7 @@
|
|||||||
export default {
|
export default {
|
||||||
i18n: {
|
i18n: {
|
||||||
'zh-CN': {
|
'zh-CN': {
|
||||||
tab: '选项 ',
|
tab: '标签 ',
|
||||||
title2: '横向滚动',
|
title2: '横向滚动',
|
||||||
title3: '禁用标签',
|
title3: '禁用标签',
|
||||||
title4: '样式风格',
|
title4: '样式风格',
|
||||||
|
@ -49,7 +49,7 @@ You can set `disabled` attribute on the corresponding `van-tab`.
|
|||||||
|
|
||||||
```html
|
```html
|
||||||
<van-tabs @disabled="onClickDisabled">
|
<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 }}
|
content of tab {{ index }}
|
||||||
</van-tab>
|
</van-tab>
|
||||||
</van-tabs>
|
</van-tabs>
|
||||||
@ -71,7 +71,7 @@ Tabs styled as cards.
|
|||||||
|
|
||||||
```html
|
```html
|
||||||
<van-tabs type="card">
|
<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 }}
|
content of tab {{ index }}
|
||||||
</van-tab>
|
</van-tab>
|
||||||
</van-tabs>
|
</van-tabs>
|
||||||
@ -81,7 +81,7 @@ Tabs styled as cards.
|
|||||||
|
|
||||||
```html
|
```html
|
||||||
<van-tabs @click="onClick">
|
<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 }}
|
content of tab {{ index }}
|
||||||
</van-tab>
|
</van-tab>
|
||||||
</van-tabs>
|
</van-tabs>
|
||||||
|
@ -92,10 +92,6 @@ exports[`renders demo correctly 1`] = `
|
|||||||
<!---->
|
<!---->
|
||||||
<!---->
|
<!---->
|
||||||
</div>
|
</div>
|
||||||
<div class="van-tab__pane" style="display:none;">
|
|
||||||
<!---->
|
|
||||||
<!---->
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -119,10 +115,6 @@ exports[`renders demo correctly 1`] = `
|
|||||||
<!---->
|
<!---->
|
||||||
<!---->
|
<!---->
|
||||||
</div>
|
</div>
|
||||||
<div class="van-tab__pane" style="display:none;">
|
|
||||||
<!---->
|
|
||||||
<!---->
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -142,14 +134,6 @@ exports[`renders demo correctly 1`] = `
|
|||||||
<!---->
|
<!---->
|
||||||
<!---->
|
<!---->
|
||||||
</div>
|
</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>
|
||||||
@ -194,7 +178,7 @@ exports[`renders demo correctly 1`] = `
|
|||||||
<div>
|
<div>
|
||||||
<i class="van-icon van-icon-more-o" style="color:undefined;font-size:undefined;">
|
<i class="van-icon van-icon-more-o" style="color:undefined;font-size:undefined;">
|
||||||
<!---->
|
<!---->
|
||||||
</i>选项
|
</i>标签
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -204,7 +188,7 @@ exports[`renders demo correctly 1`] = `
|
|||||||
<div>
|
<div>
|
||||||
<i class="van-icon van-icon-more-o" style="color:undefined;font-size:undefined;">
|
<i class="van-icon van-icon-more-o" style="color:undefined;font-size:undefined;">
|
||||||
<!---->
|
<!---->
|
||||||
</i>选项
|
</i>标签
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -38,7 +38,7 @@ export default {
|
|||||||
|
|
||||||
```html
|
```html
|
||||||
<van-tabs>
|
<van-tabs>
|
||||||
<van-tab v-for="index in 8" :title="'选项 ' + index">
|
<van-tab v-for="index in 8" :title="'标签 ' + index">
|
||||||
内容 {{ index }}
|
内容 {{ index }}
|
||||||
</van-tab>
|
</van-tab>
|
||||||
</van-tabs>
|
</van-tabs>
|
||||||
@ -50,9 +50,9 @@ export default {
|
|||||||
|
|
||||||
```html
|
```html
|
||||||
<van-tabs @disabled="onClickDisabled">
|
<van-tabs @disabled="onClickDisabled">
|
||||||
<van-tab v-for="index in 4" :title="'选项 ' + index" :disabled="index === 2">
|
<van-tab title="标签 1">内容 1</van-tab>
|
||||||
内容 {{ index }}
|
<van-tab title="标签 2" disabled>内容 2</van-tab>
|
||||||
</van-tab>
|
<van-tab title="标签 3">内容 3</van-tab>
|
||||||
</van-tabs>
|
</van-tabs>
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -72,9 +72,9 @@ export default {
|
|||||||
|
|
||||||
```html
|
```html
|
||||||
<van-tabs type="card">
|
<van-tabs type="card">
|
||||||
<van-tab v-for="index in 4" :title="'选项 ' + index">
|
<van-tab title="标签 1">内容 1</van-tab>
|
||||||
内容 {{ index }}
|
<van-tab title="标签 2">内容 2</van-tab>
|
||||||
</van-tab>
|
<van-tab title="标签 3">内容 3</van-tab>
|
||||||
</van-tabs>
|
</van-tabs>
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -84,9 +84,8 @@ export default {
|
|||||||
|
|
||||||
```html
|
```html
|
||||||
<van-tabs @click="onClick">
|
<van-tabs @click="onClick">
|
||||||
<van-tab v-for="index in 4" :title="'选项 ' + index">
|
<van-tab title="标签 1">内容 1</van-tab>
|
||||||
内容 {{ index }}
|
<van-tab title="标签 2">内容 2</van-tab>
|
||||||
</van-tab>
|
|
||||||
</van-tabs>
|
</van-tabs>
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -288,14 +288,18 @@ export default create({
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
findAvailableTab(index, reverse) {
|
findAvailableTab(active, reverse) {
|
||||||
const diff = reverse ? -1 : 1;
|
const diff = reverse ? -1 : 1;
|
||||||
|
let index = active;
|
||||||
|
|
||||||
while (index >= 0 && index < this.tabs.length) {
|
while (index >= 0 && index < this.tabs.length) {
|
||||||
if (!this.tabs[index].disabled) {
|
if (!this.tabs[index].disabled) {
|
||||||
return index;
|
return index;
|
||||||
}
|
}
|
||||||
index += diff;
|
index += diff;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return active;
|
||||||
},
|
},
|
||||||
|
|
||||||
// emit event when clicked
|
// emit event when clicked
|
||||||
|
Loading…
x
Reference in New Issue
Block a user