1# 分布式迁移标识 2 3组件的分布式迁移标识,指明了该组件在分布式迁移场景下可以将特定状态恢复到对端设备。 4 5> **说明:** 6> 7> 从API Version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 8 9## restoreId 10 11restoreId(value: number) 12 13标记支持分布式迁移的组件Id,用于两端设备组件的配对。 14 15**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 16 17**系统能力:** SystemCapability.ArkUI.ArkUI.Full 18 19**参数:** 20 21| 参数名 | 类型 | 必填 | 说明 | 22| ------ | ------ | ---- | ------------------------------------------------------------ | 23| value | number | 是 | 标记支持分布式迁移的组件Id,用于两端设备组件的配对。同一个应用中各个支持分布式迁移组件的Id必须不同。 | 24 25## 支持的组件 26 27| 组件名称 | 起始版本 | 迁移状态 | 28| --------- | ---- | ---------------------------------------- | 29| List | 8 | 迁移当前设备显示在顶部ListItem的索引值,迁移后在对端设备上,将迁移索引值对应的ListItem在List中完整地置顶显示。 | 30| Grid | 9 | 迁移当前设备显示在顶部GridItem的索引值,迁移后在对端设备上,将迁移索引值对应的GridItem在Grid中完整地置顶显示。ScrollBar位置无法迁移。 | 31| Scroll | 9 | 迁移距顶部滚动的绝对距离。两端设备显示规格不同等原因导致布局不一致,会影响迁移效果。 | 32| WaterFlow | 11 | 迁移当前设备显示在顶部FlowItem的索引值,迁移后在对端设备上,将迁移索引值对应的FlowItem在WaterFlow顶部显示。同时迁移顶部FlowItem相对WaterFlow的主轴偏移值(vp单位)。 | 33 34## 示例 35 36该示例通过restoreId设置了List组件的分布式迁移标识。 37 38```ts 39// xxx.ets 40@Entry 41@Component 42struct RestoreIdExample { 43 private arr: number[] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 44 build() { 45 Column() { 46 List({ space: 20 }) { 47 ForEach(this.arr, (item:number) => { 48 ListItem() { 49 Text('' + item) 50 .width('100%') 51 .height(100) 52 .fontSize(16) 53 .textAlign(TextAlign.Center) 54 .borderRadius(10) 55 .backgroundColor(Color.Pink) 56 } 57 }, (item:number) => (item.toString())) 58 } 59 .restoreId(1) 60 } 61 } 62} 63``` 64