mirror of
https://gitee.com/vant-contrib/vant.git
synced 2025-04-06 03:57:59 +08:00
fix(Tabs): scroll position when using nav-bottom slot (#11115)
This commit is contained in:
parent
3d7ca9b490
commit
d60096aff2
@ -4,6 +4,7 @@ exports[`should render demo and match snapshot 1`] = `
|
|||||||
<div class="van-tabs van-tabs--line">
|
<div class="van-tabs van-tabs--line">
|
||||||
<div>
|
<div>
|
||||||
<div class="van-sticky">
|
<div class="van-sticky">
|
||||||
|
<div>
|
||||||
<div class="van-tabs__wrap">
|
<div class="van-tabs__wrap">
|
||||||
<div role="tablist"
|
<div role="tablist"
|
||||||
class="van-tabs__nav van-tabs__nav--line"
|
class="van-tabs__nav van-tabs__nav--line"
|
||||||
@ -61,6 +62,7 @@ exports[`should render demo and match snapshot 1`] = `
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
<div class="van-tabs__content">
|
<div class="van-tabs__content">
|
||||||
<div id="van-tab"
|
<div id="van-tab"
|
||||||
role="tabpanel"
|
role="tabpanel"
|
||||||
|
@ -546,6 +546,7 @@ exports[`should render demo and match snapshot 1`] = `
|
|||||||
<div class="van-tabs van-tabs--line">
|
<div class="van-tabs van-tabs--line">
|
||||||
<div>
|
<div>
|
||||||
<div class="van-sticky">
|
<div class="van-sticky">
|
||||||
|
<div>
|
||||||
<div class="van-tabs__wrap">
|
<div class="van-tabs__wrap">
|
||||||
<div role="tablist"
|
<div role="tablist"
|
||||||
class="van-tabs__nav van-tabs__nav--line"
|
class="van-tabs__nav van-tabs__nav--line"
|
||||||
@ -603,6 +604,7 @@ exports[`should render demo and match snapshot 1`] = `
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
<div class="van-tabs__content">
|
<div class="van-tabs__content">
|
||||||
<div id="van-tab"
|
<div id="van-tab"
|
||||||
role="tabpanel"
|
role="tabpanel"
|
||||||
@ -1096,6 +1098,7 @@ exports[`should render demo and match snapshot 1`] = `
|
|||||||
<div class="van-tabs van-tabs--line">
|
<div class="van-tabs van-tabs--line">
|
||||||
<div>
|
<div>
|
||||||
<div class="van-sticky">
|
<div class="van-sticky">
|
||||||
|
<div>
|
||||||
<div class="van-tabs__wrap">
|
<div class="van-tabs__wrap">
|
||||||
<div role="tablist"
|
<div role="tablist"
|
||||||
class="van-tabs__nav van-tabs__nav--line van-tabs__nav--complete"
|
class="van-tabs__nav van-tabs__nav--line van-tabs__nav--complete"
|
||||||
@ -1197,6 +1200,7 @@ exports[`should render demo and match snapshot 1`] = `
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
<div class="van-tabs__content">
|
<div class="van-tabs__content">
|
||||||
<div id="van-tab"
|
<div id="van-tab"
|
||||||
role="tabpanel"
|
role="tabpanel"
|
||||||
|
@ -384,10 +384,11 @@ export default defineComponent({
|
|||||||
};
|
};
|
||||||
|
|
||||||
const renderHeader = () => {
|
const renderHeader = () => {
|
||||||
const { type, border } = props;
|
const { type, border, sticky } = props;
|
||||||
return (
|
|
||||||
|
const Header = [
|
||||||
<div
|
<div
|
||||||
ref={wrapRef}
|
ref={sticky ? undefined : wrapRef}
|
||||||
class={[
|
class={[
|
||||||
bem('wrap'),
|
bem('wrap'),
|
||||||
{ [BORDER_TOP_BOTTOM]: type === 'line' && border },
|
{ [BORDER_TOP_BOTTOM]: type === 'line' && border },
|
||||||
@ -408,8 +409,14 @@ export default defineComponent({
|
|||||||
{renderLine()}
|
{renderLine()}
|
||||||
{slots['nav-right']?.()}
|
{slots['nav-right']?.()}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>,
|
||||||
);
|
slots['nav-bottom']?.(),
|
||||||
|
];
|
||||||
|
|
||||||
|
if (sticky) {
|
||||||
|
return <div ref={wrapRef}>{Header}</div>;
|
||||||
|
}
|
||||||
|
return Header;
|
||||||
};
|
};
|
||||||
|
|
||||||
watch([() => props.color, windowWidth], setLine);
|
watch([() => props.color, windowWidth], setLine);
|
||||||
@ -486,10 +493,9 @@ export default defineComponent({
|
|||||||
onScroll={onStickyScroll}
|
onScroll={onStickyScroll}
|
||||||
>
|
>
|
||||||
{renderHeader()}
|
{renderHeader()}
|
||||||
{slots['nav-bottom']?.()}
|
|
||||||
</Sticky>
|
</Sticky>
|
||||||
) : (
|
) : (
|
||||||
[renderHeader(), slots['nav-bottom']?.()]
|
renderHeader()
|
||||||
)}
|
)}
|
||||||
<TabsContent
|
<TabsContent
|
||||||
ref={contentRef}
|
ref={contentRef}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user