From 639d3a65c553f4f10c46f3da2c0ae84472ab6b5d Mon Sep 17 00:00:00 2001 From: Yao Date: Wed, 26 Apr 2017 14:34:24 +0800 Subject: [PATCH] =?UTF-8?q?tabs=20=E7=BB=84=E4=BB=B6=E4=BF=AE=E6=94=B9=20(?= =?UTF-8?q?#18)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 修改tab tabs内部交互逻辑 --- packages/tab/src/tab.vue | 15 ++++++++++++--- test/unit/components/tabs.vue | 11 ++++++++++- test/unit/specs/tabs.spec.js | 32 ++++++++++++++++++++++++++++++++ 3 files changed, 54 insertions(+), 4 deletions(-) diff --git a/packages/tab/src/tab.vue b/packages/tab/src/tab.vue index 97108461c..d0fa5627f 100644 --- a/packages/tab/src/tab.vue +++ b/packages/tab/src/tab.vue @@ -15,12 +15,21 @@ }, disabled: Boolean }, - beforeCreate() { - this.$parent.tabs.push(this); + data() { + const nextIndex = this.$parent.tabs.length; + this.$parent.tabs.push({ + title: this.title, + disabled: this.disabled, + index: nextIndex + }); + + return { + key: nextIndex + }; }, computed: { classNames() { - return { 'van-tab__pane--select': this.$parent.tabs.indexOf(this) === this.$parent.curActive }; + return { 'van-tab__pane--select': this.key === this.$parent.curActive }; } } }; diff --git a/test/unit/components/tabs.vue b/test/unit/components/tabs.vue index 49836d301..a97da9d63 100644 --- a/test/unit/components/tabs.vue +++ b/test/unit/components/tabs.vue @@ -1,5 +1,5 @@