Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
02092d93
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看板
未验证
提交
02092d93
编写于
8月 31, 2023
作者:
耿
耿文广
提交者:
Gitee
8月 31, 2023
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update zh-cn/application-dev/quick-start/arkts-rendering-control-lazyforeach.md.
Signed-off-by:
N
耿文广
<
gengwenguang@huawei.com
>
上级
7c11d55f
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
23 addition
and
31 deletion
+23
-31
zh-cn/application-dev/quick-start/arkts-rendering-control-lazyforeach.md
...on-dev/quick-start/arkts-rendering-control-lazyforeach.md
+23
-31
未找到文件。
zh-cn/application-dev/quick-start/arkts-rendering-control-lazyforeach.md
浏览文件 @
02092d93
...
...
@@ -9,22 +9,22 @@ LazyForEach从提供的数据源中按需迭代数据,并在每次迭代过程
```
ts
LazyForEach
(
dataSource
:
IDataSource
,
//
需要进行数据迭代的数据源
itemGenerator
:
(
item
:
any
)
=>
void
,
// 子组件生成函数
keyGenerator
?:
(
item
:
any
)
=>
string
// (可选) .键值生成函数
dataSource
:
IDataSource
,
//
Data source to iterate over
itemGenerator
:
(
item
:
Object
)
=>
void
,
// Child component generation function
keyGenerator
?:
(
item
:
Object
):
string
=>
string
// (Optional). ID generation function
):
void
interface
IDataSource
{
totalCount
():
number
;
//
获得数据总数
getData
(
index
:
number
):
any
;
//
获取索引值对应的数据
registerDataChangeListener
(
listener
:
DataChangeListener
):
void
;
//
注册数据改变的监听器
unregisterDataChangeListener
(
listener
:
DataChangeListener
):
void
;
//
注销数据改变的监听器
totalCount
():
number
;
//
Get total count of data
getData
(
index
:
number
):
any
;
//
Get single data by index
registerDataChangeListener
(
listener
:
DataChangeListener
):
void
;
//
Register listener to listening data changes
unregisterDataChangeListener
(
listener
:
DataChangeListener
):
void
;
//
Unregister listener
}
interface
DataChangeListener
{
onDataReloaded
():
void
;
//
重新加载数据时调用
onDataAdd
(
index
:
number
):
void
;
//
添加数据时调用
onDataMove
(
from
:
number
,
to
:
number
):
void
;
//
数据移动起始位置与数据移动目标位置交换时调用
onDataDelete
(
index
:
number
):
void
;
//
删除数据时调用
onDataChange
(
index
:
number
):
void
;
//
改变数据时调用
onDataReloaded
():
void
;
//
Called while data reloaded
onDataAdd
(
index
:
number
):
void
;
//
Called while single data added
onDataMove
(
from
:
number
,
to
:
number
):
void
;
//
Called while single data moved
onDataDelete
(
index
:
number
):
void
;
//
Called while single data deleted
onDataChange
(
index
:
number
):
void
;
//
Called while single data changed
}
```
...
...
@@ -44,7 +44,7 @@ interface DataChangeListener {
```
ts
interface
IDataSource
{
totalCount
():
number
;
getData
(
index
:
number
):
any
;
getData
(
index
:
number
):
Object
;
registerDataChangeListener
(
listener
:
DataChangeListener
):
void
;
unregisterDataChangeListener
(
listener
:
DataChangeListener
):
void
;
}
...
...
@@ -109,8 +109,8 @@ interface DataChangeListener {
```
ts
LazyForEach
(
dataSource
,
item
=>
Text
(
`
${
item
.
i
}
. item.data.label`
),
item
=>
item
.
data
.
id
.
toString
())
(
item
:
Object
)
=>
Text
(
`
${
item
.
i
}
. item.data.label`
),
(
item
:
Object
):
string
=>
item
.
data
.
id
.
toString
())
```
...
...
@@ -126,7 +126,7 @@ class BasicDataSource implements IDataSource {
return
0
;
}
public
getData
(
index
:
number
):
any
{
public
getData
(
index
:
number
):
undefined
{
return
undefined
;
}
...
...
@@ -177,13 +177,13 @@ class BasicDataSource implements IDataSource {
}
class
MyDataSource
extends
BasicDataSource
{
private
dataArray
:
string
[]
=
[];
private
dataArray
:
string
[]
=
[
'
/path/image0
'
,
'
/path/image1
'
,
'
/path/image2
'
,
'
/path/image3
'
];
public
totalCount
():
number
{
return
this
.
dataArray
.
length
;
}
public
getData
(
index
:
number
):
any
{
public
getData
(
index
:
number
):
Object
{
return
this
.
dataArray
[
index
];
}
...
...
@@ -201,12 +201,6 @@ class MyDataSource extends BasicDataSource {
@
Entry
@
Component
struct
MyComponent
{
aboutToAppear
()
{
for
(
var
i
=
100
;
i
>=
80
;
i
--
)
{
this
.
data
.
pushData
(
`Hello
${
i
}
`
)
}
}
private
data
:
MyDataSource
=
new
MyDataSource
();
build
()
{
...
...
@@ -214,17 +208,15 @@ struct MyComponent {
LazyForEach
(
this
.
data
,
(
item
:
string
)
=>
{
ListItem
()
{
Row
()
{
Text
(
item
).
fontSize
(
50
)
.
onAppear
(()
=>
{
console
.
info
(
"
appear:
"
+
item
)
})
Image
(
item
).
width
(
'
30%
'
).
height
(
50
)
Text
(
item
).
fontSize
(
20
).
margin
({
left
:
10
})
}.
margin
({
left
:
10
,
right
:
10
})
}
.
onClick
(()
=>
{
this
.
data
.
pushData
(
`Hello
${
this
.
data
.
totalCount
()}
`
);
this
.
data
.
pushData
(
'
/path/image
'
+
this
.
data
.
totalCount
()
);
})
},
item
=>
item
)
}
.
cachedCount
(
5
)
},
(
item
:
string
)
=>
item
)
}
}
}
```
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录