From 8f12b6c715440e7bcd87894790ea09abb1e3deb3 Mon Sep 17 00:00:00 2001 From: neverland Date: Thu, 6 Oct 2022 16:07:12 +0800 Subject: [PATCH] fix(Tabs): scroll position when using nav-bottom slot (#11115) --- .../icon/test/__snapshots__/demo.spec.ts.snap | 104 +++--- .../tab/test/__snapshots__/demo.spec.ts.snap | 296 +++++++++--------- packages/vant/src/tabs/Tabs.tsx | 20 +- 3 files changed, 216 insertions(+), 204 deletions(-) diff --git a/packages/vant/src/icon/test/__snapshots__/demo.spec.ts.snap b/packages/vant/src/icon/test/__snapshots__/demo.spec.ts.snap index db4d7d864..8f404404e 100644 --- a/packages/vant/src/icon/test/__snapshots__/demo.spec.ts.snap +++ b/packages/vant/src/icon/test/__snapshots__/demo.spec.ts.snap @@ -4,58 +4,60 @@ exports[`should render demo and match snapshot 1`] = `
-
-
- - - - -
+
+
+ + + + +
+
diff --git a/packages/vant/src/tab/test/__snapshots__/demo.spec.ts.snap b/packages/vant/src/tab/test/__snapshots__/demo.spec.ts.snap index e07d81012..4d6653b39 100644 --- a/packages/vant/src/tab/test/__snapshots__/demo.spec.ts.snap +++ b/packages/vant/src/tab/test/__snapshots__/demo.spec.ts.snap @@ -546,58 +546,60 @@ exports[`should render demo and match snapshot 1`] = `
-
-
- - - - -
+
+
+ + + + +
+
@@ -1096,102 +1098,104 @@ exports[`should render demo and match snapshot 1`] = `
-
-
- - - - - - - - -
+
+
+ + + + + + + + +
+
diff --git a/packages/vant/src/tabs/Tabs.tsx b/packages/vant/src/tabs/Tabs.tsx index d2e5eda8b..bbde8fd20 100644 --- a/packages/vant/src/tabs/Tabs.tsx +++ b/packages/vant/src/tabs/Tabs.tsx @@ -415,10 +415,11 @@ export default defineComponent({ }; const renderHeader = () => { - const { type, border } = props; - return ( + const { type, border, sticky } = props; + + const Header = [
-
- ); +
, + slots['nav-bottom']?.(), + ]; + + if (sticky) { + return
{Header}
; + } + return Header; }; watch([() => props.color, windowWidth], setLine); @@ -517,10 +524,9 @@ export default defineComponent({ onScroll={onStickyScroll} > {renderHeader()} - {slots['nav-bottom']?.()} ) : ( - [renderHeader(), slots['nav-bottom']?.()] + renderHeader() )}