首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在单击时滚动元素,请在React中使用useRef

无法在单击时滚动元素,请在React中使用useRef
EN

Stack Overflow用户
提问于 2022-06-22 17:21:03
回答 1查看 522关注 0票数 1

代码:

代码语言:javascript
复制
const scrollRef = useRef<HTMLDivElement | null>(null);
const onClickScroll = (scrollOffset: number) => {
  scrollRef!.current!.scrollLeft += scrollOffset;
};

构成部分:

代码语言:javascript
复制
<span className="flex">
 <ChevronLeftIcon className="h-5 w-5 text-white cursor-pointer" onClick={()=> onClickScroll(-20)}/>
 <ChevronRightIcon className="h-5 w-5 text-white cursor-pointer" onClick={() => onClickScroll(20)}/>
</span>

可滚动组件:

代码语言:javascript
复制
<div className="flex mt-5 w-[80rem] overflow-scroll overflow-y-clip scrollbar-hide" ref={scrollRef}>Somecode</div>

onClickScroll应该触发滚动,但不会发生。

EN

回答 1

Stack Overflow用户

发布于 2022-06-22 18:01:08

您应该调用scrollTo()方法,而不是尝试更改属性。试着这样做:

代码语言:javascript
复制
const onClickScroll = (scrollOffset: number) => {
  scrollRef!.current!.scrollTo(scrollOffset, 0);
};
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72719611

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档