当前位置: 首页 > article >正文

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

    // 自动滚动到可视区域内
    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]);

 <div className={ve.defaultWrapper} ref={wrapperRef}>
            {content.map((text, index) => (
                <p
        
                    ref={(r) => {
                        if (isSelectedRow(index)) {
                            ref = r;
                        }
                    }}
                ></p>)}
                </div>
              

在这里插入图片描述


http://www.kler.cn/a/231703.html

相关文章:

  • K8S中的数据存储之基本存储
  • ray.rllib-入门实践-12:自定义policy
  • 数据库SQLite和SCADA DIAView应用教程
  • pytest自动化测试 - 构造“预置条件”的几种方式
  • Jmeter使用Request URL请求接口
  • SQL-leetcode—1193. 每月交易 I
  • 大白话介绍循环神经网络
  • git 克隆拉取代码出现私钥权限问题。
  • RK Camera hal 图像处理
  • C# 实现微信自定义分享
  • 【Spring Boot】第二篇 自动装配原来就这么简单
  • 2024.2.7日总结(小程序开发4)
  • 通过nginx学习linux进程名的修改
  • 每日一题!如约而至!(图片整理,寻找数组的中心下标)
  • 寒假作业2月5号
  • 配置dns服务的正反向解析
  • JUnit5单元测试框架提供的注解
  • Django学习记录01
  • 如何使用websocket
  • LLVM实战之opt工具的使用
  • 每日一练 | 华为认证真题练习Day182
  • 大厂聚合支付系统架构演进(下)
  • 【开源】基于JAVA+Vue+SpringBoot的新能源电池回收系统
  • 【C#】Xasset加载资源模块
  • 中科大计网学习记录笔记(四):Internet 和 ISP | 分组延时、丢失和吞吐量
  • nodeJS 的 npm 设置国内高速镜像之淘宝镜像的方法