在 react-window 顶部显示导航栏
Display navbar ontop of react-window
我正在尝试在 React window 列表顶部显示导航栏。我正在使用 react-window 和 react-virtualized-auto-sizer。问题是,当我在 AutoSizer
之外添加导航栏时,它会创建另一个滚动条。 sandbox。如何在不创建另一个滚动条的情况下将导航栏置于列表顶部?
代码:
const Row = ({ index, style }) => (
<div style={style}>Row {index}</div>
);
const Homepage = () => (<>
<div style={{ width: "100%", height: "100vh", overFlow: "hidden"}}>
<Navbar /> // this causes a second scroll bar
<AutoSizer>
{({ width, height }) => (
<>
<List
height={height}
itemCount={1000}
itemSize={35}
width={width}
>
{Row}
</List>
</>
)}
</AutoSizer>
</div>
</>
);
在你的style.css文件中你可以添加
body {
overflow: hidden;
}
这不是最优雅的解决方案,但我想它可行。
更改您的 dom 架构,使您的 header 在 之外 AutoSizer
例如:
const App = () => (
<div style={{ width: "100%", height: "100vh" }}>
<div style={{ height: "10vh", backgroundColor: "lightgrey" }}>
header here
</div>
<div style={{ height: "80vh" }}>
<AutoSizer>
{({ width, height }) => (
<>
<List height={height} itemCount={1000} itemSize={35} width={width}>
{Tester}
</List>
</>
)}
</AutoSizer>
</div>
<div style={{ height: "10vh", backgroundColor: "lightgrey" }}>
footer here
</div>
</div>
);
我正在尝试在 React window 列表顶部显示导航栏。我正在使用 react-window 和 react-virtualized-auto-sizer。问题是,当我在 AutoSizer
之外添加导航栏时,它会创建另一个滚动条。 sandbox。如何在不创建另一个滚动条的情况下将导航栏置于列表顶部?
代码:
const Row = ({ index, style }) => (
<div style={style}>Row {index}</div>
);
const Homepage = () => (<>
<div style={{ width: "100%", height: "100vh", overFlow: "hidden"}}>
<Navbar /> // this causes a second scroll bar
<AutoSizer>
{({ width, height }) => (
<>
<List
height={height}
itemCount={1000}
itemSize={35}
width={width}
>
{Row}
</List>
</>
)}
</AutoSizer>
</div>
</>
);
在你的style.css文件中你可以添加
body {
overflow: hidden;
}
这不是最优雅的解决方案,但我想它可行。
更改您的 dom 架构,使您的 header 在 之外 AutoSizer
例如:
const App = () => (
<div style={{ width: "100%", height: "100vh" }}>
<div style={{ height: "10vh", backgroundColor: "lightgrey" }}>
header here
</div>
<div style={{ height: "80vh" }}>
<AutoSizer>
{({ width, height }) => (
<>
<List height={height} itemCount={1000} itemSize={35} width={width}>
{Tester}
</List>
</>
)}
</AutoSizer>
</div>
<div style={{ height: "10vh", backgroundColor: "lightgrey" }}>
footer here
</div>
</div>
);