From a8c426596e3846f77a303a0a81ff3a6f8fe61799 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=92=B8fish?= Date: Thu, 1 Aug 2019 20:19:51 +0800 Subject: [PATCH] =?UTF-8?q?=20Tab:=20fix=20tabs-item's=20padding=20cause?= =?UTF-8?q?=20active-bar's=20width=20and=20transform=20err(=20=20=E2=80=A6?= =?UTF-8?q?=20#15355)=20(#16520)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Tab: Refactor tabs-item's padding with dynamic value --- packages/tabs/src/tab-bar.vue | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/packages/tabs/src/tab-bar.vue b/packages/tabs/src/tab-bar.vue index bf2d871567..39a106e7e7 100644 --- a/packages/tabs/src/tab-bar.vue +++ b/packages/tabs/src/tab-bar.vue @@ -32,16 +32,17 @@ return true; } else { tabSize = $el[`client${firstUpperCase(sizeName)}`]; + const tabStyles = window.getComputedStyle($el); if (sizeName === 'width' && this.tabs.length > 1) { - tabSize -= (index === 0 || index === this.tabs.length - 1) ? 20 : 40; + tabSize -= parseFloat(tabStyles.paddingLeft) + parseFloat(tabStyles.paddingRight); + } + if (sizeName === 'width') { + offset += parseFloat(tabStyles.paddingLeft); } return false; } }); - if (sizeName === 'width' && offset !== 0) { - offset += 20; - } const transform = `translate${firstUpperCase(sizeDir)}(${offset}px)`; style[sizeName] = tabSize + 'px'; style.transform = transform;