reactjs react-horizontal-scrolling-菜单滚动错误

cmssoen2  于 2023-03-29  发布在  React
关注(0)|答案(4)|浏览(190)

**你好,我遇到了react-horizontal-scrolling-menu的问题,滚动的时候向右滚动了很多,剩下的元素都消失了,当你添加overflowX的时候:'scroll'到BOX,滚动直到第一次点击后才起作用

加上左箭头,右箭头不工作
看看代码**
[error img here]

<Box component="div" sx={{position:'relative', width:'100%',p:'20px'}}>
        <HorizontalScrollbar data={bodyParts} bodyParts={bodyParts} bodyPart={bodyPart} setBodyPart={setBodyPart}/>
  </Box>

水平滚动条

import React, { useContext } from 'react';
import { ScrollMenu, VisibilityContext } from 'react-horizontal-scrolling-menu';
import { Box, Typography } from '@mui/material';
import BodyPart from './BodyPart';
import RightArrowIcon from '../assets/icons/right-arrow.png';
import LeftArrowIcon from '../assets/icons/left-arrow.png';

const LeftArrow = () => {
  const { scrollPrev } = useContext(VisibilityContext);

  return (
    <Typography onClick={() => scrollPrev()} className="right-arrow">
      <img src={LeftArrowIcon} alt="right-arrow" />
    </Typography>
  );
};

const RightArrow = () => {
  const { scrollNext } = useContext(VisibilityContext);

  return (
    <Typography onClick={() => scrollNext()} className="left-arrow" >
      <img src={RightArrowIcon} alt="right-arrow"/>
    </Typography>
  );
};

const HorizontalScrollbar = ({ data, bodyParts, setBodyPart, bodyPart }) => (
  <Box mt={4} sx={{position:'static'}}>
  <ScrollMenu LeftArrow={LeftArrow} RightArrow={RightArrow}>
    {data.map((item) => (
      <Box
        key={item.id || item}
        itemId={item.id || item}
        title={item.id || item}
        m="0 40px"
      >
         <BodyPart item={item} setBodyPart={setBodyPart} bodyPart={bodyPart} /> 
      </Box>
    ))}
  </ScrollMenu>
  </Box>
);

export default HorizontalScrollbar;
ndh0cuux

ndh0cuux1#

安装npm i react-horizontal-scrolling-menu@2.7.1,这最新的3.0.1版本有一些关于溢出的问题

oxiaedzo

oxiaedzo2#

我也被困在这里,但我做了一个小黑客继续前进,就像我刚刚从git复制了package.json(链接在描述中提到),并运行命令'npm install',它开始工作。
我建议你也这样做,这样你就可以移动,并在安装后寻找错误或问题快乐学习

mv1qrgav

mv1qrgav3#

使用按钮而不是排版:

const LeftArrow = () => {
  const { scrollPrev } = useContext(VisibilityContext);

  return (
    <Button onClick={() => scrollPrev()} className="right-arrow">
      <img src={LeftArrowIcon} alt="right-arrow" />
    </Button>
  );
};

这按预期工作。

e0bqpujr

e0bqpujr4#

我正在做同样的项目,我得到了一些错误

它与我一起工作:

npm i react-horizontal-scrolling-menu@2.7.1

相关问题