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

换友情链接的网站门户网站开发建设成本明细

换友情链接的网站,门户网站开发建设成本明细,wordpress 发布到iis,如何仿网站模板【高心星出品】 Repeat组件的使用 概念 Repeat基于数组类型数据来进行循环渲染,一般与容器组件配合使用。 Repeat根据容器组件的有效加载范围(屏幕可视区域预加载区域)加载子组件。当容器滑动/数组改变时,Repeat会根据父容器组件的…

【高心星出品】

Repeat组件的使用

概念

Repeat基于数组类型数据来进行循环渲染,一般与容器组件配合使用。

Repeat根据容器组件的有效加载范围(屏幕可视区域+预加载区域)加载子组件。当容器滑动/数组改变时,Repeat会根据父容器组件的布局过程重新计算有效加载范围,并管理列表子组件节点的创建与销毁。

  • Repeat必须在滚动类容器组件内使用,仅有List、ListItemGroup、Grid、Swiper以及WaterFlow组件支持Repeat懒加载场景。

    循环渲染只允许创建一个子组件,子组件应当是允许包含在容器组件中的子组件。例如:Repeat与List组件配合使用时,子组件必须为ListItem组件。

  • Repeat不支持V1装饰器,混用V1装饰器会导致渲染异常。

  • Repeat当前不支持动画效果。

  • 滚动容器组件内只能包含一个Repeat。以List为例,不建议同时包含ListItem、ForEach、LazyForEach,不建议同时包含多个Repeat。

  • 当Repeat与自定义组件或@Builder函数混用时,必须将RepeatItem类型整体进行传参,组件才能监听到数据变化。详见Repeat与@Builder混用。

Repeat子组件由.each()和.template()属性定义,只允许包含一个子组件。当页面首次渲染时,Repeat根据当前的有效加载范围(屏幕可视区域+预加载区域)按需创建子组件。如下图所示:

在这里插入图片描述

repeat默认会分配1个预加载节点,通过cachecount可以认为调整预加载节点个数。

案例
repeat全量加载数组案例:

下面案例使用list加载全量数组元素,第一运行的时候就会把100个listitem都渲染出来,耗费时间和内存。

在这里插入图片描述

日志输入结果:

在这里插入图片描述

// 父组件使用Repeat渲染列表
@Entry
@Component
struct repeatpage {@State items: string[] = [];aboutToAppear() {// 初始化数据for (let i = 0; i < 100; i++) {this.items.push(`列表项 ${i}`);}}build() {List() {Repeat(this.items)// 遍历每个数组元素.each((item: RepeatItem<string>) => {ListItem() {Text(item.item).fontSize(20).width('100%').textAlign(TextAlign.Center)}.onAppear(()=>{// 当listitem渲染的时候调用console.log('gxxt ',item.item+' 出现了')})})}.width('100%')}
}
repeat开启懒加载和设置预加载数量

下面案例开启了virtualScroll懒加载和cachedCount预加载数量,可以看到第一次只渲染了可见区域的listitem,随着滑动重用预加载的节点。第一次渲染了30的listem,缓存了两个节点,所以加载的数据为32个。

在这里插入图片描述

日志输出结果:

在这里插入图片描述

// 父组件使用Repeat渲染列表
@Entry
@Component
struct repeatpage {@State items: string[] = [];aboutToAppear() {// 初始化数据for (let i = 0; i < 100; i++) {this.items.push(`列表项 ${i}`);}}build() {List() {Repeat(this.items)// 遍历每个数组元素.each((item: RepeatItem<string>) => {ListItem() {Text(item.item).fontSize(20).width('100%').textAlign(TextAlign.Center)}.onAppear(()=>{// 当listitem渲染的时候调用console.log('gxxt ',item.item+' 出现了')})})// 开启懒加载.virtualScroll()}.width('100%').cachedCount(2) //缓存两个节点}
}
repeat设置加载模板

下面案例中给repeat设置通用模板和huang模板和hong模板,根据index设置不同的显示模板。

在这里插入图片描述

// 父组件使用Repeat渲染列表
@Entry
@Component
struct repeatpage {@State items: string[] = [];aboutToAppear() {// 初始化数据for (let i = 0; i < 100; i++) {this.items.push(`列表项 ${i}`);}}build() {List() {Repeat(this.items)// 遍历每个数组元素.each((item: RepeatItem<string>) => {ListItem() {Text(item.item).fontSize(20).width('100%').textAlign(TextAlign.Center)}.onAppear(() => {// 当listitem渲染的时候调用console.log('gxxt ', item.item + ' 出现了')})}).template('huang', (item: RepeatItem<string>) => {ListItem() {Text(item.item).fontSize(20).width('100%').textAlign(TextAlign.Center).backgroundColor(Color.Yellow)}.onAppear(() => {// 当listitem渲染的时候调用console.log('gxxt ', item.item + ' 出现了')})}).template('hong', (item: RepeatItem<string>) => {ListItem() {Text(item.item).fontSize(20).width('100%').textAlign(TextAlign.Center).backgroundColor(Color.Red)}.onAppear(() => {// 当listitem渲染的时候调用console.log('gxxt ', item.item + ' 出现了')})}).templateId((item: string, index: number) => {// 下标被3除余1 加载huang模板  被3除余2 加载hong模板 其他的加载each的通用模板if (index % 3 == 1) {return 'huang'} else if (index % 3 == 2) {return 'hong'} else {return ''}})// 开启懒加载.virtualScroll()}.width('100%').cachedCount(2) //缓存两个节点}
}
http://www.dtcms.com/a/614550.html

相关文章:

  • 已解决:jupyter lab启动时警告与报错的解决方法
  • 【Android】布局优化:include、merge、ViewStub以及Inflate()源码浅析
  • 部署Spring Boot项目到Linux服务器数据盘
  • 网站的建设模式是指什么时候个人公众号做电影网站
  • Spring aop 五种通知类型
  • 千博企业网站管理系统完整版 2014ios认证 东莞网站建设
  • 国外的一些网站精美网站设计欣赏
  • 深度学习:动量梯度下降实战(Momentum Gradient Descent)
  • 电脑做服务器建网站app试玩网站制作
  • 【Janet】数据结构
  • Tensor与NumPy转换
  • 06-文件操作-教程
  • 【ros2】ROS2 C++服务端与客户端开发指南
  • 网站开发成本主要有哪些网络广告发布
  • 【035】Dubbo3从0到1系列之dubbo-remoting核心接口Endpoint
  • 用备份的网站代码做网站步骤小程序模板怎么导入
  • 利用帝国cms网站建设网页源代码怎么搜索关键词
  • 【愚公系列】《腾讯元宝从入门到精通》002-提示词设计与优化
  • C++哈希(包含unordered_set和unordered_map的封装)
  • 编译类语言 | 深入了解编译原理及应用
  • 西安建设银行网站专业公司网站 南通
  • 禁止同ip网站查询抖音小程序注册
  • Chaos-nano:Arduino Pro Mini 轻量级操作系统解析与实战应用
  • 从 0 到 1 学爬虫:Python 基础语法在爬虫中的实战运用用这个标题写一篇文章,在当前对话窗口输出
  • 网页设计网站排行榜中国发达国家还有多远
  • Podman和Docker
  • 自己架设服务器做网站一同看网页打不开
  • 手写LRU 缓存
  • 23-MD5+DES+Webpack:考试宝
  • 前端构建工具环境变量,安全管理