react将选中本文自动滑动到容器可视区域内

js 复制代码
    // 自动滚动到可视区域内
    useEffect(() => {
        const target = ref;
        const wrapper = wrapperRef?.current;
        if (target && wrapperRef) {
            const rect = target.getBoundingClientRect();
            const wrapperRect = wrapper.getBoundingClientRect();
            const isVisible = rect.bottom <= wrapperRect.bottom && rect.top >= wrapperRect.top;
            if (!isVisible) {
                wrapper.scrollTo({ top: rect.top, behavior: 'smooth' });
            }
            console.log('isVisible', isVisible);
        }
    }, [avaliableIndex]);
html 复制代码
 <div className={ve.defaultWrapper} ref={wrapperRef}>
            {content.map((text, index) => (
                <p
        
                    ref={(r) => {
                        if (isSelectedRow(index)) {
                            ref = r;
                        }
                    }}
                ></p>)}
                </div>
              
相关推荐
小小怪下士_---_2 分钟前
uniapp开发微信小程序自定义导航栏
前端·vue.js·微信小程序·小程序·uni-app
前端W3 分钟前
腾讯地图组件使用说明文档
前端
页面魔术6 分钟前
无虚拟dom怎么又流行起来了?
前端·javascript·vue.js
胡gh6 分钟前
如何聊懒加载,只说个懒可不行
前端·react.js·面试
Double__King9 分钟前
巧用 CSS 伪元素,让背景图自适应保持比例
前端
Mapmost11 分钟前
【BIM+GIS】BIM数据格式解析&与数字孪生适配的关键挑战
前端·vue.js·three.js
一涯12 分钟前
写一个Chrome插件
前端·chrome
鹧鸪yy19 分钟前
认识Node.js及其与 Nginx 前端项目区别
前端·nginx·node.js
跟橙姐学代码19 分钟前
学Python必须迈过的一道坎:类和对象到底是什么鬼?
前端·python