1e41f4b71Sopenharmony_ci# LazyForEach
2e41f4b71Sopenharmony_ci
3e41f4b71Sopenharmony_ciLazyForEach从提供的数据源中按需迭代数据,并在每次迭代过程中创建相应的组件。当在滚动容器中使用了LazyForEach,框架会根据滚动容器可视区域按需创建组件,当组件滑出可视区域外时,框架会进行组件销毁回收以降低内存占用。
4e41f4b71Sopenharmony_ci
5e41f4b71Sopenharmony_ci> **说明**
6e41f4b71Sopenharmony_ci>
7e41f4b71Sopenharmony_ci> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
8e41f4b71Sopenharmony_ci
9e41f4b71Sopenharmony_ci**卡片能力:** 从API version 10开始,该接口支持在ArkTS卡片中使用。
10e41f4b71Sopenharmony_ci
11e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
12e41f4b71Sopenharmony_ci
13e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.ArkUI.ArkUI.Full
14e41f4b71Sopenharmony_ci
15e41f4b71Sopenharmony_ci**参数:**
16e41f4b71Sopenharmony_ci
17e41f4b71Sopenharmony_ci| 参数名        | 类型                                                      | 必填 | 说明                                                         |
18e41f4b71Sopenharmony_ci| ------------- | --------------------------------------------------------- | ---- | ------------------------------------------------------------ |
19e41f4b71Sopenharmony_ci| dataSource    | [IDataSource](#idatasource10)                       | 是   | LazyForEach数据源,需要开发者实现相关接口。                  |
20e41f4b71Sopenharmony_ci| itemGenerator | (item:&nbsp;Object, index: number)&nbsp;=&gt;&nbsp;void   | 是   | 子组件生成函数,为数组中的每一个数据项创建一个子组件。<br/>**说明:**<br/>- item是当前数据项,index是数据项索引值。<br/>- itemGenerator的函数体必须使用大括号{...}。<br />- itemGenerator每次迭代只能并且必须生成一个子组件。<br />- itemGenerator中可以使用if语句,但是必须保证if语句每个分支都会创建一个相同类型的子组件。<br />- itemGenerator中不允许使用ForEach和LazyForEach语句。 |
21e41f4b71Sopenharmony_ci| keyGenerator  | (item:&nbsp;Object, index: number)&nbsp;=&gt;&nbsp;string | 否   | 键值生成函数,用于给数据源中的每一个数据项生成唯一且固定的键值。当数据项在数组中的位置更改时,其键值不得更改,当数组中的数据项被新项替换时,被替换项的键值和新项的键值必须不同。键值生成器的功能是可选的,但是,为了使开发框架能够更好地识别数组更改,提高性能,建议提供。如将数组反向时,如果没有提供键值生成器,则LazyForEach中的所有节点都将重建。<br/>**说明:**<br/>- item是当前数据项,index是数据项索引值。<br/>- 数据源中的每一个数据项生成的键值不能重复。 |
22e41f4b71Sopenharmony_ci
23e41f4b71Sopenharmony_ci## onMove<sup>12+</sup>
24e41f4b71Sopenharmony_ci
25e41f4b71Sopenharmony_cionMove(handler: Optional<(from: index, to: index) => void>): T
26e41f4b71Sopenharmony_ci
27e41f4b71Sopenharmony_ci拖拽排序数据移动回调。只有在List组件中使用,并且LazyForEach每次迭代都生成一个ListItem组件时才生效拖拽排序。
28e41f4b71Sopenharmony_ci
29e41f4b71Sopenharmony_ci**卡片能力:** 从API version 12开始,该接口支持在ArkTS卡片中使用。
30e41f4b71Sopenharmony_ci
31e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
32e41f4b71Sopenharmony_ci
33e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.ArkUI.ArkUI.Full
34e41f4b71Sopenharmony_ci
35e41f4b71Sopenharmony_ci**参数:**
36e41f4b71Sopenharmony_ci
37e41f4b71Sopenharmony_ci| 参数名 | 类型      | 必填 | 说明       |
38e41f4b71Sopenharmony_ci| ------ | --------- | ---- | ---------- |
39e41f4b71Sopenharmony_ci| from  | number | 是   | 数据源移动起始索引号。 |
40e41f4b71Sopenharmony_ci| to  | number | 是   | 数据源移动目标索引号。 |
41e41f4b71Sopenharmony_ci
42e41f4b71Sopenharmony_ci## IDataSource<sup>10+</sup>
43e41f4b71Sopenharmony_ci
44e41f4b71Sopenharmony_ci**卡片能力:** 从API version 10开始,该接口支持在ArkTS卡片中使用。
45e41f4b71Sopenharmony_ci
46e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
47e41f4b71Sopenharmony_ci
48e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.ArkUI.ArkUI.Full
49e41f4b71Sopenharmony_ci
50e41f4b71Sopenharmony_ci### totalCount
51e41f4b71Sopenharmony_ci
52e41f4b71Sopenharmony_citotalCount(): number
53e41f4b71Sopenharmony_ci
54e41f4b71Sopenharmony_ci获得数据总数。
55e41f4b71Sopenharmony_ci
56e41f4b71Sopenharmony_ci**卡片能力:** 从API version 10开始,该接口支持在ArkTS卡片中使用。
57e41f4b71Sopenharmony_ci
58e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
59e41f4b71Sopenharmony_ci
60e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.ArkUI.ArkUI.Full
61e41f4b71Sopenharmony_ci
62e41f4b71Sopenharmony_ci### getData
63e41f4b71Sopenharmony_ci
64e41f4b71Sopenharmony_cigetData(index:&nbsp;number): Object
65e41f4b71Sopenharmony_ci
66e41f4b71Sopenharmony_ci获取索引值index对应的数据。
67e41f4b71Sopenharmony_ci
68e41f4b71Sopenharmony_ci**卡片能力:** 从API version 10开始,该接口支持在ArkTS卡片中使用。
69e41f4b71Sopenharmony_ci
70e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
71e41f4b71Sopenharmony_ci
72e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.ArkUI.ArkUI.Full
73e41f4b71Sopenharmony_ci
74e41f4b71Sopenharmony_ci**参数:**
75e41f4b71Sopenharmony_ci
76e41f4b71Sopenharmony_ci| 参数名 | 类型   | 必填 | 说明                 |
77e41f4b71Sopenharmony_ci| ------ | ------ | ---- | -------------------- |
78e41f4b71Sopenharmony_ci| index  | number | 是   | 获取数据对应的索引值 |
79e41f4b71Sopenharmony_ci
80e41f4b71Sopenharmony_ci### registerDataChangeListener
81e41f4b71Sopenharmony_ci
82e41f4b71Sopenharmony_ciregisterDataChangeListener(listener: DataChangeListener): void
83e41f4b71Sopenharmony_ci
84e41f4b71Sopenharmony_ci注册数据改变的监听器。
85e41f4b71Sopenharmony_ci
86e41f4b71Sopenharmony_ci**卡片能力:** 从API version 10开始,该接口支持在ArkTS卡片中使用。
87e41f4b71Sopenharmony_ci
88e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
89e41f4b71Sopenharmony_ci
90e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.ArkUI.ArkUI.Full
91e41f4b71Sopenharmony_ci
92e41f4b71Sopenharmony_ci**参数:**
93e41f4b71Sopenharmony_ci
94e41f4b71Sopenharmony_ci| 参数名   | 类型                                        | 必填 | 说明           |
95e41f4b71Sopenharmony_ci| -------- | ------------------------------------------- | ---- | -------------- |
96e41f4b71Sopenharmony_ci| listener | [DataChangeListener](#datachangelistener10) | 是   | 数据变化监听器 |
97e41f4b71Sopenharmony_ci
98e41f4b71Sopenharmony_ci### unregisterDataChangeListener
99e41f4b71Sopenharmony_ci
100e41f4b71Sopenharmony_ciunregisterDataChangeListener(listener: DataChangeListener): void
101e41f4b71Sopenharmony_ci
102e41f4b71Sopenharmony_ci注销数据改变的监听器。
103e41f4b71Sopenharmony_ci
104e41f4b71Sopenharmony_ci**卡片能力:** 从API version 10开始,该接口支持在ArkTS卡片中使用。
105e41f4b71Sopenharmony_ci
106e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
107e41f4b71Sopenharmony_ci
108e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.ArkUI.ArkUI.Full
109e41f4b71Sopenharmony_ci
110e41f4b71Sopenharmony_ci**参数:**
111e41f4b71Sopenharmony_ci
112e41f4b71Sopenharmony_ci| 参数名   | 类型                                        | 必填 | 说明           |
113e41f4b71Sopenharmony_ci| -------- | ------------------------------------------- | ---- | -------------- |
114e41f4b71Sopenharmony_ci| listener | [DataChangeListener](#datachangelistener10) | 是   | 数据变化监听器 |
115e41f4b71Sopenharmony_ci
116e41f4b71Sopenharmony_ci## DataChangeListener<sup>10+</sup>
117e41f4b71Sopenharmony_ci
118e41f4b71Sopenharmony_ci数据变化监听器。
119e41f4b71Sopenharmony_ci
120e41f4b71Sopenharmony_ci**卡片能力:** 从API version 10开始,该接口支持在ArkTS卡片中使用。
121e41f4b71Sopenharmony_ci
122e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
123e41f4b71Sopenharmony_ci
124e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.ArkUI.ArkUI.Full
125e41f4b71Sopenharmony_ci
126e41f4b71Sopenharmony_ci### onDataReloaded
127e41f4b71Sopenharmony_ci
128e41f4b71Sopenharmony_cionDataReloaded(): void
129e41f4b71Sopenharmony_ci
130e41f4b71Sopenharmony_ci通知组件重新加载所有数据。键值没有变化的数据项会使用原先的子组件,键值发生变化的会重建子组件。重新加载数据完成后调用。
131e41f4b71Sopenharmony_ci
132e41f4b71Sopenharmony_ci**卡片能力:** 从API version 10开始,该接口支持在ArkTS卡片中使用。
133e41f4b71Sopenharmony_ci
134e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
135e41f4b71Sopenharmony_ci
136e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.ArkUI.ArkUI.Full
137e41f4b71Sopenharmony_ci
138e41f4b71Sopenharmony_ci### onDataAdded<sup>(deprecated)</sup>
139e41f4b71Sopenharmony_ci
140e41f4b71Sopenharmony_cionDataAdded(index: number): void
141e41f4b71Sopenharmony_ci
142e41f4b71Sopenharmony_ci通知组件index的位置有数据添加。添加数据完成后调用。
143e41f4b71Sopenharmony_ci
144e41f4b71Sopenharmony_ci> 从API 8开始,建议使用[onDataAdd](#ondataadd8)。
145e41f4b71Sopenharmony_ci
146e41f4b71Sopenharmony_ci**参数:**
147e41f4b71Sopenharmony_ci
148e41f4b71Sopenharmony_ci| 参数名 | 类型   | 必填 | 说明                 |
149e41f4b71Sopenharmony_ci| ------ | ------ | ---- | -------------------- |
150e41f4b71Sopenharmony_ci| index  | number | 是   | 数据添加位置的索引值 |
151e41f4b71Sopenharmony_ci
152e41f4b71Sopenharmony_ci### onDataMoved<sup>(deprecated)</sup>
153e41f4b71Sopenharmony_ci
154e41f4b71Sopenharmony_cionDataMoved(from: number, to: number): void
155e41f4b71Sopenharmony_ci
156e41f4b71Sopenharmony_ci通知组件数据有移动。将from和to位置的数据进行交换。
157e41f4b71Sopenharmony_ci
158e41f4b71Sopenharmony_ci> 从API 8开始,建议使用[onDataMove](#ondatamove8)。
159e41f4b71Sopenharmony_ci>
160e41f4b71Sopenharmony_ci> **说明:**数据移动前后键值要保持不变,如果键值有变化,应使用删除数据和新增数据接口。数据移动起始位置与数据移动目标位置交换完成后调用。
161e41f4b71Sopenharmony_ci
162e41f4b71Sopenharmony_ci**参数:**
163e41f4b71Sopenharmony_ci
164e41f4b71Sopenharmony_ci| 参数名 | 类型   | 必填 | 说明             |
165e41f4b71Sopenharmony_ci| ------ | ------ | ---- | ---------------- |
166e41f4b71Sopenharmony_ci| from   | number | 是   | 数据移动起始位置 |
167e41f4b71Sopenharmony_ci| to     | number | 是   | 数据移动目标位置 |
168e41f4b71Sopenharmony_ci
169e41f4b71Sopenharmony_ci### onDataDeleted<sup>(deprecated)</sup>
170e41f4b71Sopenharmony_ci
171e41f4b71Sopenharmony_cionDataDeleted(index: number): void
172e41f4b71Sopenharmony_ci
173e41f4b71Sopenharmony_ci通知组件删除index位置的数据并刷新LazyForEach的展示内容。删除数据完成后调用。
174e41f4b71Sopenharmony_ci
175e41f4b71Sopenharmony_ci> 从API 8开始,建议使用[onDataDelete](#ondatadelete8)。
176e41f4b71Sopenharmony_ci
177e41f4b71Sopenharmony_ci**参数:**
178e41f4b71Sopenharmony_ci
179e41f4b71Sopenharmony_ci| 参数名 | 类型   | 必填 | 说明                 |
180e41f4b71Sopenharmony_ci| ------ | ------ | ---- | -------------------- |
181e41f4b71Sopenharmony_ci| index  | number | 是   | 数据删除位置的索引值 |
182e41f4b71Sopenharmony_ci
183e41f4b71Sopenharmony_ci### onDataChanged<sup>(deprecated)</sup>
184e41f4b71Sopenharmony_ci
185e41f4b71Sopenharmony_cionDataChanged(index: number): void
186e41f4b71Sopenharmony_ci
187e41f4b71Sopenharmony_ci通知组件index的位置有数据有变化。改变数据完成后调用。
188e41f4b71Sopenharmony_ci
189e41f4b71Sopenharmony_ci> 从API 8开始,建议使用[onDataChange](#ondatachange8)。
190e41f4b71Sopenharmony_ci
191e41f4b71Sopenharmony_ci**参数:**
192e41f4b71Sopenharmony_ci
193e41f4b71Sopenharmony_ci| 参数名 | 类型   | 必填 | 说明           |
194e41f4b71Sopenharmony_ci| ------ | ------ | ---- | -------------- |
195e41f4b71Sopenharmony_ci| index  | number | 是   | 数据变化监听器 |
196e41f4b71Sopenharmony_ci
197e41f4b71Sopenharmony_ci### onDataAdd<sup>8+</sup>
198e41f4b71Sopenharmony_ci
199e41f4b71Sopenharmony_cionDataAdd(index: number): void
200e41f4b71Sopenharmony_ci
201e41f4b71Sopenharmony_ci通知组件index的位置有数据添加。添加数据完成后调用
202e41f4b71Sopenharmony_ci
203e41f4b71Sopenharmony_ci| 参数名 | 类型   | 必填 | 说明           |
204e41f4b71Sopenharmony_ci| ------ | ------ | ---- | -------------- |
205e41f4b71Sopenharmony_ci| index  | number | 是   | 数据添加位置的索引值 |
206e41f4b71Sopenharmony_ci
207e41f4b71Sopenharmony_ci**卡片能力:** 从API version 10开始,该接口支持在ArkTS卡片中使用。
208e41f4b71Sopenharmony_ci
209e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
210e41f4b71Sopenharmony_ci
211e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.ArkUI.ArkUI.Full
212e41f4b71Sopenharmony_ci
213e41f4b71Sopenharmony_ci**参数:**
214e41f4b71Sopenharmony_ci
215e41f4b71Sopenharmony_ci### onDataMove<sup>8+</sup>
216e41f4b71Sopenharmony_ci
217e41f4b71Sopenharmony_cionDataMove(from: number, to: number): void
218e41f4b71Sopenharmony_ci
219e41f4b71Sopenharmony_ci通知组件数据有移动。将from和to位置的数据进行交换。数据移动起始位置与数据移动目标位置交换完成后调用。
220e41f4b71Sopenharmony_ci
221e41f4b71Sopenharmony_ci> **说明:**数据移动前后键值要保持不变,如果键值有变化,应使用删除数据和新增数据接口。
222e41f4b71Sopenharmony_ci
223e41f4b71Sopenharmony_ci**参数:**
224e41f4b71Sopenharmony_ci
225e41f4b71Sopenharmony_ci| 参数名 | 类型   | 必填 | 说明             |
226e41f4b71Sopenharmony_ci| ------ | ------ | ---- | ---------------- |
227e41f4b71Sopenharmony_ci| from   | number | 是   | 数据移动起始位置 |
228e41f4b71Sopenharmony_ci| to     | number | 是   | 数据移动目标位置 |
229e41f4b71Sopenharmony_ci
230e41f4b71Sopenharmony_ci### onDataDelete<sup>8+</sup>
231e41f4b71Sopenharmony_ci
232e41f4b71Sopenharmony_cionDataDelete(index: number): void
233e41f4b71Sopenharmony_ci
234e41f4b71Sopenharmony_ci通知组件删除index位置的数据并刷新LazyForEach的展示内容。删除数据完成后调用。
235e41f4b71Sopenharmony_ci
236e41f4b71Sopenharmony_ci> **说明:** 需要保证dataSource中的对应数据已经在调用onDataDelete前删除,否则页面渲染将出现未定义的行为。
237e41f4b71Sopenharmony_ci
238e41f4b71Sopenharmony_ci**卡片能力:** 从API version 10开始,该接口支持在ArkTS卡片中使用。
239e41f4b71Sopenharmony_ci
240e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
241e41f4b71Sopenharmony_ci
242e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.ArkUI.ArkUI.Full
243e41f4b71Sopenharmony_ci
244e41f4b71Sopenharmony_ci**参数:**
245e41f4b71Sopenharmony_ci
246e41f4b71Sopenharmony_ci| 参数名 | 类型   | 必填 | 说明                 |
247e41f4b71Sopenharmony_ci| ------ | ------ | ---- | -------------------- |
248e41f4b71Sopenharmony_ci| index  | number | 是   | 数据删除位置的索引值 |
249e41f4b71Sopenharmony_ci
250e41f4b71Sopenharmony_ci### onDataChange<sup>8+</sup>
251e41f4b71Sopenharmony_ci
252e41f4b71Sopenharmony_cionDataChange(index: number): void
253e41f4b71Sopenharmony_ci
254e41f4b71Sopenharmony_ci通知组件index的位置有数据有变化。改变数据完成后调用。
255e41f4b71Sopenharmony_ci
256e41f4b71Sopenharmony_ci**卡片能力:** 从API version 10开始,该接口支持在ArkTS卡片中使用。
257e41f4b71Sopenharmony_ci
258e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
259e41f4b71Sopenharmony_ci
260e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.ArkUI.ArkUI.Full
261e41f4b71Sopenharmony_ci
262e41f4b71Sopenharmony_ci**参数:**
263e41f4b71Sopenharmony_ci
264e41f4b71Sopenharmony_ci| 参数名 | 类型   | 必填 | 说明                 |
265e41f4b71Sopenharmony_ci| ------ | ------ | ---- | -------------------- |
266e41f4b71Sopenharmony_ci| index  | number | 是   | 数据变化位置的索引值 |
267e41f4b71Sopenharmony_ci
268e41f4b71Sopenharmony_ci### onDatasetChange<sup>12+</sup>
269e41f4b71Sopenharmony_ci
270e41f4b71Sopenharmony_cionDatasetChange(dataOperations: DataOperation[]): void
271e41f4b71Sopenharmony_ci
272e41f4b71Sopenharmony_ci进行批量的数据处理,该接口不可与上述接口混用。批量数据处理后调用。
273e41f4b71Sopenharmony_ci
274e41f4b71Sopenharmony_ci**卡片能力:** 从API version 12开始,该接口支持在ArkTS卡片中使用。
275e41f4b71Sopenharmony_ci
276e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
277e41f4b71Sopenharmony_ci
278e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.ArkUI.ArkUI.Full
279e41f4b71Sopenharmony_ci
280e41f4b71Sopenharmony_ci**参数:**
281e41f4b71Sopenharmony_ci
282e41f4b71Sopenharmony_ci| 参数名         | 类型                | 必填 | 说明               |
283e41f4b71Sopenharmony_ci| -------------- | ------------------- | ---- | ------------------ |
284e41f4b71Sopenharmony_ci| dataOperations | [DataOperation](#dataoperation12)[] | 是   | 一次处理数据的操作 |
285e41f4b71Sopenharmony_ci
286e41f4b71Sopenharmony_ci## DataOperation<sup>12+</sup>
287e41f4b71Sopenharmony_ci
288e41f4b71Sopenharmony_ci> **说明**
289e41f4b71Sopenharmony_ci>
290e41f4b71Sopenharmony_ci> 本模块首批接口从API version 12开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
291e41f4b71Sopenharmony_ci
292e41f4b71Sopenharmony_ci### DataAddOperation
293e41f4b71Sopenharmony_ci
294e41f4b71Sopenharmony_ci添加数据操作。
295e41f4b71Sopenharmony_ci
296e41f4b71Sopenharmony_ci**卡片能力:** 从API version 12开始,该接口支持在ArkTS卡片中使用。
297e41f4b71Sopenharmony_ci
298e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
299e41f4b71Sopenharmony_ci
300e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.ArkUI.ArkUI.Full
301e41f4b71Sopenharmony_ci
302e41f4b71Sopenharmony_ci**参数:**
303e41f4b71Sopenharmony_ci
304e41f4b71Sopenharmony_ci| 参数名 | 类型                      | 必填 | 说明                 |
305e41f4b71Sopenharmony_ci| ------ | ------------------------- | ---- | -------------------- |
306e41f4b71Sopenharmony_ci| type   | [DataOperationType](#dataoperationtype).ADD     | 是   | 数据添加类型         |
307e41f4b71Sopenharmony_ci| index  | number                    | 是   | 插入数据索引值       |
308e41f4b71Sopenharmony_ci| count  | number                    | 否   | 插入数量,默认为1    |
309e41f4b71Sopenharmony_ci| key    | string \| Array\<string\> | 否   | 为插入的数据分配键值 |
310e41f4b71Sopenharmony_ci
311e41f4b71Sopenharmony_ci### DataDeleteOperation
312e41f4b71Sopenharmony_ci
313e41f4b71Sopenharmony_ci删除数据操作。
314e41f4b71Sopenharmony_ci
315e41f4b71Sopenharmony_ci**卡片能力:** 从API version 12开始,该接口支持在ArkTS卡片中使用。
316e41f4b71Sopenharmony_ci
317e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
318e41f4b71Sopenharmony_ci
319e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.ArkUI.ArkUI.Full
320e41f4b71Sopenharmony_ci
321e41f4b71Sopenharmony_ci**参数:**
322e41f4b71Sopenharmony_ci
323e41f4b71Sopenharmony_ci| 参数名 | 类型                      | 必填 | 说明                 |
324e41f4b71Sopenharmony_ci| ------ | ------------------------- | ---- | -------------------- |
325e41f4b71Sopenharmony_ci| type   | [DataOperationType](#dataoperationtype).DELETE     | 是   | 数据删除类型         |
326e41f4b71Sopenharmony_ci| index  | number                    | 是   | 起始删除位置索引值       |
327e41f4b71Sopenharmony_ci| count  | number                    | 否   | 删除数据数量,默认为1    |
328e41f4b71Sopenharmony_ci
329e41f4b71Sopenharmony_ci### DataChangeOperation
330e41f4b71Sopenharmony_ci
331e41f4b71Sopenharmony_ci改变数据操作。
332e41f4b71Sopenharmony_ci
333e41f4b71Sopenharmony_ci**卡片能力:** 从API version 12开始,该接口支持在ArkTS卡片中使用。
334e41f4b71Sopenharmony_ci
335e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
336e41f4b71Sopenharmony_ci
337e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.ArkUI.ArkUI.Full
338e41f4b71Sopenharmony_ci
339e41f4b71Sopenharmony_ci**参数:**
340e41f4b71Sopenharmony_ci
341e41f4b71Sopenharmony_ci| 参数名 | 类型                      | 必填 | 说明                 |
342e41f4b71Sopenharmony_ci| ------ | ------------------------- | ---- | -------------------- |
343e41f4b71Sopenharmony_ci| type   | [DataOperationType](#dataoperationtype).CHANGE     | 是   | 数据改变类型         |
344e41f4b71Sopenharmony_ci| index  | number                    | 是   | 改变的数据的索引值       |
345e41f4b71Sopenharmony_ci| key  | string                    | 否   | 为改变的数据分配新的键值,默认使用原键值    |
346e41f4b71Sopenharmony_ci
347e41f4b71Sopenharmony_ci### DataMoveOperation
348e41f4b71Sopenharmony_ci
349e41f4b71Sopenharmony_ci移动数据操作。
350e41f4b71Sopenharmony_ci
351e41f4b71Sopenharmony_ci**卡片能力:** 从API version 12开始,该接口支持在ArkTS卡片中使用。
352e41f4b71Sopenharmony_ci
353e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
354e41f4b71Sopenharmony_ci
355e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.ArkUI.ArkUI.Full
356e41f4b71Sopenharmony_ci
357e41f4b71Sopenharmony_ci**参数:**
358e41f4b71Sopenharmony_ci
359e41f4b71Sopenharmony_ci| 参数名 | 类型                      | 必填 | 说明                 |
360e41f4b71Sopenharmony_ci| ------ | ------------------------- | ---- | -------------------- |
361e41f4b71Sopenharmony_ci| type   | [DataOperationType](#dataoperationtype).MOVE     | 是   | 数据移动类型 |
362e41f4b71Sopenharmony_ci| index  | [MoveIndex](#moveindex)        | 是   | 移动位置   |
363e41f4b71Sopenharmony_ci| key | string              | 否   | 为被移动的数据分配新的键值,默认使用原键值 |
364e41f4b71Sopenharmony_ci
365e41f4b71Sopenharmony_ci#### MoveIndex
366e41f4b71Sopenharmony_ci
367e41f4b71Sopenharmony_ci| 参数名 | 类型                       | 必填 | 说明            |
368e41f4b71Sopenharmony_ci| ------ | --------------- | ---- | ------- |
369e41f4b71Sopenharmony_ci| from   | number | 是   | 起始移动位置                 |
370e41f4b71Sopenharmony_ci| to  | number           | 是   | 目的移动位置           |
371e41f4b71Sopenharmony_ci
372e41f4b71Sopenharmony_ci### DataExchangeOperation
373e41f4b71Sopenharmony_ci
374e41f4b71Sopenharmony_ci交换数据操作。
375e41f4b71Sopenharmony_ci
376e41f4b71Sopenharmony_ci**卡片能力:** 从API version 12开始,该接口支持在ArkTS卡片中使用。
377e41f4b71Sopenharmony_ci
378e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
379e41f4b71Sopenharmony_ci
380e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.ArkUI.ArkUI.Full
381e41f4b71Sopenharmony_ci
382e41f4b71Sopenharmony_ci**参数:**
383e41f4b71Sopenharmony_ci
384e41f4b71Sopenharmony_ci| 参数名 | 类型                       | 必填 | 说明                         |
385e41f4b71Sopenharmony_ci| ------ | -------------------------- | ---- | ---------------------------- |
386e41f4b71Sopenharmony_ci| type   | [DataOperationType](#dataoperationtype).EXCHANGE | 是   | 数据交换类型                 |
387e41f4b71Sopenharmony_ci| index  | [ExchangeIndex](#exchangeindex)            | 是   | 交换位置                     |
388e41f4b71Sopenharmony_ci| key    | [ExchangeKey](#exchangekey)              | 否   | 分配新的键值,默认使用原键值 |
389e41f4b71Sopenharmony_ci
390e41f4b71Sopenharmony_ci#### ExchangeIndex
391e41f4b71Sopenharmony_ci
392e41f4b71Sopenharmony_ci| 参数名 | 类型                       | 必填 | 说明            |
393e41f4b71Sopenharmony_ci| ------ | --------------- | ---- | ------- |
394e41f4b71Sopenharmony_ci| start   | number | 是   | 第一个交换位置                 |
395e41f4b71Sopenharmony_ci| end  | number           | 是   | 第二个交换位置           |
396e41f4b71Sopenharmony_ci
397e41f4b71Sopenharmony_ci#### ExchangeKey
398e41f4b71Sopenharmony_ci
399e41f4b71Sopenharmony_ci| 参数名 | 类型                       | 必填 | 说明            |
400e41f4b71Sopenharmony_ci| ------ | --------------- | ---- | ------- |
401e41f4b71Sopenharmony_ci| start   | string | 是   | 为第一个交换的位置分配新的键值,默认使用原键值        |
402e41f4b71Sopenharmony_ci| end  | string   | 是   | 为第二个交换的位置分配新的键值,默认使用原键值           |
403e41f4b71Sopenharmony_ci
404e41f4b71Sopenharmony_ci### DataReloadOperation
405e41f4b71Sopenharmony_ci
406e41f4b71Sopenharmony_ci重载所有数据操作。当onDatasetChange含有DataOperationType.RELOAD操作时,其余操作全部失效,框架会自己调用keygenerator进行键值比对。
407e41f4b71Sopenharmony_ci
408e41f4b71Sopenharmony_ci**卡片能力:** 从API version 12开始,该接口支持在ArkTS卡片中使用。
409e41f4b71Sopenharmony_ci
410e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
411e41f4b71Sopenharmony_ci
412e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.ArkUI.ArkUI.Full
413e41f4b71Sopenharmony_ci
414e41f4b71Sopenharmony_ci**参数:**
415e41f4b71Sopenharmony_ci
416e41f4b71Sopenharmony_ci| 参数名 | 类型                     | 必填 | 说明             |
417e41f4b71Sopenharmony_ci| ------ | ------------------------ | ---- | ---------------- |
418e41f4b71Sopenharmony_ci| type   | [DataOperationType](#dataoperationtype).RELOAD | 是   | 数据全部重载类型 |
419e41f4b71Sopenharmony_ci
420e41f4b71Sopenharmony_ci### DataOperationType
421e41f4b71Sopenharmony_ci
422e41f4b71Sopenharmony_ci枚举类型,数据操作说明。
423e41f4b71Sopenharmony_ci
424e41f4b71Sopenharmony_ci**卡片能力:** 从API version 12开始,该接口支持在ArkTS卡片中使用。
425e41f4b71Sopenharmony_ci
426e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
427e41f4b71Sopenharmony_ci
428e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.ArkUI.ArkUI.Full
429e41f4b71Sopenharmony_ci
430e41f4b71Sopenharmony_ci**枚举类型说明:**
431e41f4b71Sopenharmony_ci
432e41f4b71Sopenharmony_ci| 属性 | 值                    | 说明                 |
433e41f4b71Sopenharmony_ci| ------ | ------------------- | -------------------- |
434e41f4b71Sopenharmony_ci| ADD   |   add       | 数据添加   |
435e41f4b71Sopenharmony_ci| DELETE  | delete    | 数据删除    |
436e41f4b71Sopenharmony_ci| CHANGE  | change     | 数据改变    |
437e41f4b71Sopenharmony_ci| MOVE | move | 数据移动 |
438e41f4b71Sopenharmony_ci| EXCHANGE | exchange | 数据交换 |
439e41f4b71Sopenharmony_ci| RELOAD | reload | 全部数据重载 |