Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
539f6031
D
Docs
项目概览
OpenHarmony
/
Docs
大约 1 年 前同步成功
通知
159
Star
292
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
539f6031
编写于
3月 26, 2022
作者:
L
LiAn
提交者:
Gitee
3月 26, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update zh-cn/application-dev/ui/ts-rending-control-syntax-lazyforeach.md.
Signed-off-by:
N
LiAn
<
lian15@huawei.com
>
上级
8a1811c3
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
8 addition
and
8 deletion
+8
-8
zh-cn/application-dev/ui/ts-rending-control-syntax-lazyforeach.md
...plication-dev/ui/ts-rending-control-syntax-lazyforeach.md
+8
-8
未找到文件。
zh-cn/application-dev/ui/ts-rending-control-syntax-lazyforeach.md
浏览文件 @
539f6031
# 数据懒加载
开发框架提供
**数据懒加载**
(LazyForEach组件)从提供的数据源中按需迭代数据,并在每次迭代过程中创建相应的组件。
**LazyForEach**
定义如下:
开发框架提供
数据懒加载(LazyForEach组件)从提供的数据源中按需迭代数据,并在每次迭代过程中创建相应的组件。LazyForEach
定义如下:
```
...
...
@@ -34,16 +34,16 @@ interface DataChangeListener {
LazyForEach(dataSource: IDataSource, itemGenerator: (item: any) =
>
void, keyGenerator?: (item: any) =
>
string):void
**表1**
参数说明
表1
参数说明
| 参数名 | 参数类型 | 必填 | 默认值 | 参数描述 |
| -------- | -------- | -------- | -------- | -------- |
| dataSource | IDataSource | 是 | - | 实现IDataSource接口的对象,需要开发者实现相关接口。 |
| itemGenerator | (item:
any)
=
>
void | 是 | - | 生成子组件的lambda函数,为给定数组项生成一个或多个子组件,单个组件和子组件列表必须括在大括号“
**{....}**
”中。 |
| itemGenerator | (item:
any)
=
>
void | 是 | - | 生成子组件的lambda函数,为给定数组项生成一个或多个子组件,单个组件和子组件列表必须括在大括号“
{....}
”中。 |
| keyGenerator | (item:
any)
=
>
string | 否 | - | 匿名函数,用于键值生成,为给定数组项生成唯一且稳定的键值。当子项在数组中的位置更改时,子项的键值不得更改,当数组中的子项被新项替换时,被替换项的键值和新项的键值必须不同。键值生成器的功能是可选的,但是,为了使开发框架能够更好地识别数组更改,提高性能,建议提供。如将数组反向时,如果没有提供键值生成器,则LazyForEach中的所有节点都将重建。 |
**表2**
IDataSource类型说明
表2
IDataSource类型说明
| 名称 | 描述 |
| -------- | -------- |
...
...
@@ -53,7 +53,7 @@ LazyForEach(dataSource: IDataSource, itemGenerator: (item: any) => void, keyG
| unregisterDataChangeListener(listener:DataChangeListener):
void | 注销改变数据的控制器。 |
**表3**
DataChangeListener类型说明
表3
DataChangeListener类型说明
| 名称 | 描述 |
| -------- | -------- |
...
...
@@ -71,11 +71,11 @@ LazyForEach(dataSource: IDataSource, itemGenerator: (item: any) => void, keyG
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> - 数据懒加载必须在容器组件内使用,且仅有List、Grid以及Swiper组件支持数据的懒加载(即只加载可视部分以及其前后少量数据用于缓冲),其他组件仍然是一次加载所有的数据;
>
> -
**LazyForEach**
在每次迭代中,必须且只允许创建一个子组件;
> -
LazyForEach
在每次迭代中,必须且只允许创建一个子组件;
>
> - 生成的子组件必须允许在
**LazyForEach**
的父容器组件中;
> - 生成的子组件必须允许在
LazyForEach
的父容器组件中;
>
> - 允许
**LazyForEach**包含在**if/else**条件渲染语句中,不允许**LazyForEach**中出现**if/else**
条件渲染语句;
> - 允许
LazyForEach包含在if/else条件渲染语句中,不允许LazyForEach中出现if/else
条件渲染语句;
>
> - 为了高性能渲染,通过DataChangeListener对象的onDataChange方法来更新UI时,仅itemGenerator中的UI描述的组件内使用了状态变量时,才会触发组件刷新;
>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录