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

react-virtualized可视化区域渲染的使用

介绍

  1. github地址:https://github.com/bvaughn/react-virtualized 
  2. 实例网址:react-virtualized
  3. 如果体积太大,可以参考用react-window。

使用

  1. 安装: yarn add react-virtualized。
  2. 在项目入口文件index.js中导入样式文件(只导入一次就可以)
    import 'react-virtualized/styles.css';
  3. 打开文档 [ https://github.com/bvaughn/react-virtualized/blob/master/docs/List.md ],找到list的配置,找到示例,拷贝示例。
  4. 复制进你的项目
    import { List } from 'react-virtualized';const list = Array(100).fill("react-virtualized");function rowRenderer({key, // Unique key within array of rowsindex, // Index of row within collectionstyle, // Style object to be applied to row (to position it)isScrolling,isVisible,
    }: any) {return (<div key={key} style={style}>{list[index]}</div>);
    }export default function index() {return (<Listwidth={300}height={300}rowCount={list.length}rowHeight={20}rowRenderer={rowRenderer}/>)
    }
    

  5. 其中 rowRenderer 表示渲染函数的内容, isScrolling表示是否在滚动中,isVisible是否可见,!!!style样式属性,这个很重要,一定要加,作用是指定每一行的位置。
     

扩展

让list组件占满整个屏幕(AutoSize)

  1.  打开文档: https://github.com/bvaughn/react-virtualized/blob/master/docs/AutoSizer.md
  2.  添加AutoSize组件,通过render-props模式,获取到AutoSizer组件暴露的width和height属性。
  3. 设置list组件的width和height属性。
  4. 需要设置城市选择页面的根元素高度为100%,让list组件占满整个页面。
    import { List, AutoSizer } from 'react-virtualized';const list = Array(100).fill("react-virtualized");function rowRenderer({key, // Unique key within array of rowsindex, // Index of row within collectionstyle, // Style object to be applied to row (to position it)
    }: any) {return (<div key={key} style={style}>{list[index]}</div>);
    }const styles = {height: "100vh",width: "100vw"
    }export default function index() {return (<div style={styles}><AutoSizer>{({ height, width }) => (<Listheight={height}rowCount={list.length}rowHeight={20}rowRenderer={rowRenderer}width={width}/>)}</AutoSizer>,</div>)
    }
    

相关文章:

react-virtualized可视化区域渲染的使用

介绍 github地址&#xff1a;https://github.com/bvaughn/react-virtualized 实例网址&#xff1a;react-virtualized如果体积太大&#xff0c;可以参考用react-window。 使用 安装&#xff1a; yarn add react-virtualized。在项目入口文件index.js中导入样式文件&#xff…...

navicat连接postgresql报错

navicat连接postgresql报错 navicat连接postgresql报错 现象 有小伙伴告诉我 安装了新的postgresql 使用navicat连接&#xff0c;报错 ERROR: column "datlastsysoid" does not existLINE 1: SELECT DISTINCT datlastsysoid FROM pg database column “datlastsy…...

题目:灾后重建

【题目描述】 B地区在地震过后&#xff0c;所有村庄都造成了一定的损毁&#xff0c;而这场地震却没对公路造成什么影响。但是在村庄重建好之前&#xff0c;所有与未重建完成的村庄的公路均无法通车。换句话说&#xff0c;只有连接着两个重建完成的村庄的公路才能通车&#xff…...

Vue 插槽 slot

solt 插槽需要分为 2.6.0 版本以上和 2.6.0版本以下。 2.6.0 版本以下的 slot 插槽在&#xff0c;2.x版本将继续支持&#xff0c;但是在 Vue 3 中已被废弃&#xff0c;且不会出现在官方文档中。 作用 插槽 prop 允许我们将插槽转换为可复用的模板&#xff0c;这些模板可以基于…...

【C/C++】C语言位图操作实例(亲测)

C语言中的位图操作通常用于处理大量的二进制数据&#xff0c;例如图像处理、压缩算法等。以下是一些C语言中的位图操作实例&#xff1a; 设置位图中的某一位 void set_bit(unsigned char *bitmap, int bit) {bitmap[bit / 8] | (1 << (bit % 8)); }这个函数将位图中的第…...

Mahout教程_编程入门自学教程_菜鸟教程-免费教程分享

教程简介 Mahout 是 Apache Software Foundation&#xff08;ASF&#xff09; 旗下的一个开源项目&#xff0c;提供一些可扩展的机器学习领域经典算法的实现&#xff0c;旨在帮助开发人员更加方便快捷地创建智能应用程序。Mahout包含许多实现&#xff0c;包括聚类、分类、推荐…...

wxwidgets Ribbon使用wxRibbonToolBar实例

wxRibbonToolBar就是工具栏&#xff0c;一下是实现的效果&#xff0c;界面只是功能展示&#xff0c;没有美化 实现代码如下所示&#xff1a; MyFrame::MyFrame(const wxString& title) : wxFrame(NULL, wxID_ANY, title, wxDefaultPosition, wxSize(800, 600)) …...

8.9黄金最新行情走势分析及短线交易策略

近期有哪些消息面影响黄金走势&#xff1f;黄金多空该如何研判&#xff1f; ​黄金消息面解析&#xff1a;周三&#xff08;8月9日&#xff09;现货黄金维持震荡&#xff0c;目前交投于1930美元附近&#xff0c;隔日现货黄金盘中震荡下行&#xff0c;失守1930关口并在美盘时段…...

VB+SQL房地产评估系统设计与实现

摘 要 房地产评估系统对房地产评估信息进行全面现代化管理。但一直以来人们使用传统人工的方式进行评估,这种管理方式存在着许多缺点,如:效率低、计算量大,容易出错。另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。 随着科学技术的不断…...

用AOP实现前端传参时间的时区转化

用AOP实现前端传参时间的时区转化 新增注解新增AOP切面类Controller传参字段添加注解结束 新增注解 Documented Target({FIELD,METHOD,PARAMETER,ANNOTATION_TYPE}) Retention(RUNTIME) public interface MyDateFormatDeserializer {String pattern() default "yyyy-MM-d…...

mybatis There is no getter for property named ‘*‘ in ‘class java.lang.String

mybatis There is no getter for property named car_port_ids in class java.lang.String 出现这种错误我这边是mapper.xml子查询字段不对导致的 我把查询结果的列的字段放进去结果不识别car_port_ids可能我这种字段本身就有问题 技术博客 http://idea.coderyj.com/ 1.解决 &…...

Mac终端前总会出现 (base) 字样解决

Mac安装了anaconda之后&#xff0c;终端前总会出现 (base) 字样&#xff0c;显示如下&#xff1a; (base) tinghoudeiMac ~ 具体原因是 安装了anaconda后&#xff0c;每次启动终端都会启动anaconda的base环境。 解决办法 设置anaconda 不自启base环境就好了&#xff1a; 禁用…...

RabbitMQ面试题大全含答案

rabbitmq 的使用场景有哪些&#xff1f; ①. 跨系统的异步通信&#xff0c;所有需要异步交互的地方都可以使用消息队列。就像我们除了打电话&#xff08;同步&#xff09;以外&#xff0c;还需要发短信&#xff0c;发电子邮件&#xff08;异步&#xff09;的通讯方式。 ②. 多…...

Linux配置QT Creator环境:ubuntu中安装QT Creator环境

一、前景 目前市面上很多公司使用QT Creator进行界面开发&#xff0c;基本都会选择在Linux环境进行&#xff0c;优点不仅是市场所需&#xff0c;更是方便后期代码的移植&#xff0c;相较于Windows系统&#xff0c;Linux系统移植性非常好。故此篇文章&#xff0c;介绍如何在Linu…...

机器学习深度学习——池化层

&#x1f468;‍&#x1f393;作者简介&#xff1a;一位即将上大四&#xff0c;正专攻机器学习的保研er &#x1f30c;上期文章&#xff1a;机器学习&&深度学习——卷积的多输入多输出通道 &#x1f4da;订阅专栏&#xff1a;机器学习&&深度学习 希望文章对你们…...

siMLPe:Human Motion Prediction

Back to MLP: A Simple Baseline for Human Motion Prediction解析 摘要1. 简介2. Related Work2.1 基于RNN的人体运动预测2.2 基于GCN的人体运动预测2.3 基于 Attention 的人类运动预测2.4 总结 3. siMLPe3.1 离散余弦变换&#xff08;Discrete Cosine Transform (DCT)&#x…...

详解——JS map()方法

JavaScript是一种广泛使用的编程语言&#xff0c;用于开发Web应用程序。它具有许多内置函数和方法&#xff0c;其中之一是map()方法。map()方法是一个非常有用的函数&#xff0c;它允许我们在数组中的每个元素上执行相同的操作&#xff0c;并返回一个新的数组。 map()方法的语…...

leetcode做题笔记57

给你一个 无重叠的 &#xff0c;按照区间起始端点排序的区间列表。 在列表中插入一个新的区间&#xff0c;你需要确保列表中的区间仍然有序且不重叠&#xff08;如果有必要的话&#xff0c;可以合并区间&#xff09;。 思路一&#xff1a;模拟题意 int pushbackInterval(int…...

SAP Fiori 将GUI中的自开发报表添加到Fiori 工作台

1. 首先我们在workbench 中开发一个GUI report 这里我们开发的是一个简单的物料清单报表 2. 分配一个事务代码。 注意这里的SAP GUI for HTML 要打上勾 3. 创建语义对象&#xff08; Create Semantic Object&#xff09; 事物代码&#xff1a; path: SAP NetWeaver ->…...

【Docker】配置指定大小的磁盘空间

背景 测试磁盘满时程序的运行情况 问题 如何使用 docker 来模拟磁盘满的情况 解决方法 创建指定大小的数据卷 volumedocker volume create --driver local --opt typetmpfs --opt devicetmpfs --opt osize50M my_volumn创建 docker 时&#xff0c;使用该数据卷docker run …...

【多智能体控制】领导者-跟随者的无人机群编队控制仿真(碰撞检测、轨迹规划)【含Matlab源码 15321期】

&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;Matlab领域博客之家&#x1f49e;&…...

别再傻傻分不清了!GIS里Clip和Mask到底怎么用?附ArcGIS/QGIS实操对比

GIS空间分析实战&#xff1a;Clip与Mask工具的核心差异与操作指南 每次打开GIS软件&#xff0c;面对工具箱里密密麻麻的工具图标&#xff0c;新手总会陷入选择困难——尤其是功能看似相似的Clip和Mask。上周有位林业局的朋友发来求助&#xff1a;他用Clip处理卫星影像后&#x…...

C# SerialPort 类中 Handshake 属性的实战应用与优化策略

1. 理解Handshake属性的核心作用 串口通信就像两个人用对讲机通话&#xff0c;如果一方说得太快&#xff0c;另一方可能根本听不清。这时候就需要一个协调机制&#xff0c;让双方保持同步。在C#的SerialPort类中&#xff0c;Handshake属性就是这个协调员&#xff0c;专门负责管…...

新能源 / 智能驾驶常见面试题及答案汇总(2026 最新版)

从三电到端到端大模型&#xff0c;一文掌握新能源汽车行业面试通关密码 2026年春节后&#xff0c;中国新能源汽车行业迎来了史上最激烈的人才争夺战。智联招聘最新发布的《2026年新质生产力人才报告》显示&#xff0c;智能驾驶系统工程师岗位需供比已飙升至16:1&#xff0c;成为…...

手把手教你用Qwen3-TTS:10种语言语音合成,开箱即用

手把手教你用Qwen3-TTS&#xff1a;10种语言语音合成&#xff0c;开箱即用 1. 为什么选择Qwen3-TTS&#xff1f; 想象一下&#xff0c;你正在开发一个多语言智能客服系统&#xff0c;需要为不同国家的用户提供自然流畅的语音服务。传统方案可能需要部署多个语音合成引擎&…...

别再用微服务思维做AI系统!:重构技术选型逻辑——基于LLM生命周期的4阶段决策树(训练→蒸馏→推理→反馈闭环)

第一章&#xff1a;AI原生软件研发技术选型决策树 2026奇点智能技术大会(https://ml-summit.org) AI原生软件并非传统应用叠加大模型API的简单组合&#xff0c;而是以模型为中心重构开发范式——从数据流、状态管理、推理调度到可观测性&#xff0c;每一层都需重新权衡。技术选…...

LaTeX参考文献中动态控制会议与期刊缩写显示的两种高效方法

1. 为什么需要动态控制会议与期刊缩写 写论文时最头疼的事情之一&#xff0c;就是参考文献格式的反复调整。特别是当导师突然要求"所有会议名称后面要加上缩写"&#xff0c;或者期刊投稿时被编辑指出"缩写格式不符合要求"时&#xff0c;很多同学的第一反应…...

性能测试中的负载测试

性能测试中的负载测试详解 一、负载测试的基本概念 负载测试(Load Testing)是性能测试的一种重要类型,指模拟系统在预期或典型用户负载下运行,观察系统各项性能指标是否满足要求的过程。负载测试的目标不是把系统压垮(那是压力测试的目标),而是验证系统在正常到峰值范…...

Pixel Couplet Gen实战案例:某AI教育平台春节特训营结业证书像素春联

Pixel Couplet Gen实战案例&#xff1a;某AI教育平台春节特训营结业证书像素春联 1. 项目背景与创意来源 春节作为传统节日&#xff0c;春联是不可或缺的文化元素。某AI教育平台在举办春节特训营时&#xff0c;希望为学员提供独特的结业证书形式。传统纸质证书缺乏互动性和创…...

从TUV到UL:手把手教你为你的开关电源产品选择合适的安规认证路径

开关电源全球市场准入指南&#xff1a;如何构建最优安规认证矩阵 当一款开关电源产品从设计图纸走向国际市场时&#xff0c;安规认证就像通关文牒&#xff0c;决定着产品能否顺利进入目标市场。但面对欧洲CE、北美UL、日本PSE等不同体系的认证要求&#xff0c;企业常陷入两难&a…...