【发布时间】:2023-01-25 16:02:03
【问题描述】:
我有一组20 items。在 UI 中,我有两个按钮和 20 个项目。我的用户界面看起来像这样。
单击Prev 和Next 按钮时,它会正确滚动。
但现在我的需要是。
当div块到达1st item时,我想隐藏prev按钮并只显示Next按钮。就像我到达最后一个20th item时一样,我想隐藏next按钮并只显示Prev按钮。在div 之间,我想显示两个按钮。
我试过但不知道如何实现它。请帮助解决一些问题。
这是我试过的代码:
import { useRef } from "react";
export default function App() {
const cardsContainerRef = useRef();
const data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20];
const onPrevorNextBtnClick = (scrollOffset) => {
cardsContainerRef.current.scrollLeft += scrollOffset;
};
return (
<div>
<div style={{ display: "flex", gap: "10px" }}>
<button
onClick={() => {
onPrevorNextBtnClick(-300);
}}
>
Prev
</button>
<div
ref={cardsContainerRef}
style={{ display: "flex", gap: "10px", overflow: "hidden" }}
>
{data.map((item, index) => (
<div
style={{
width: "100px",
height: "100px",
flexShrink: 0,
backgroundColor: "green",
color: "white"
}}
>
{item}
</div>
))}
</div>
<button
onClick={() => {
onPrevorNextBtnClick(300);
}}
>
Next
</button>
</div>
</div>
);
}
代码沙盒链接:https://codesandbox.io/s/sweet-morning-ziweui?file=/src/App.js
所需输出:
【问题讨论】:
标签: javascript html css reactjs