diff --git a/packages/tab/index.vue b/packages/tab/index.vue index 23c24e8a0..60b9dd73f 100644 --- a/packages/tab/index.vue +++ b/packages/tab/index.vue @@ -49,7 +49,10 @@ export default create({ created() { this.findParent('van-tabs'); - this.parent.tabs.push(this); + + const { tabs } = this.parent; + const index = this.parent.$slots.default.indexOf(this.$vnode); + tabs.splice(index === -1 ? tabs.length : index, 0, this); }, mounted() { diff --git a/packages/tabs/index.vue b/packages/tabs/index.vue index 5907938d6..2ac2cce03 100644 --- a/packages/tabs/index.vue +++ b/packages/tabs/index.vue @@ -97,6 +97,7 @@ export default create({ tabs(tabs) { this.correctActive(this.curActive || this.active); + this.scrollIntoView(); this.setLine(); },