1# 分布式迁移标识 2 3组件的分布式迁移标识,指明了该组件在分布式迁移场景下可以将特定状态恢复到对端设备。 4 5> **说明:** 6> 7> 从API version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 8 9## restoreId 10 11restoreId(value: number): T 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| T | 返回当前组件。 | 30 31## 支持的组件 32 33| 组件名称 | 起始版本 | 迁移状态 | 34| --------- | ---- | ---------------------------------------- | 35| List | 8 | 迁移当前设备显示在顶部ListItem的索引值,迁移后在对端设备上,将迁移索引值对应的ListItem在List中完整地置顶显示。 | 36| Grid | 9 | 迁移当前设备显示在顶部GridItem的索引值,迁移后在对端设备上,将迁移索引值对应的GridItem在Grid中完整地置顶显示。ScrollBar位置无法迁移。 | 37| Scroll | 9 | 迁移距顶部滚动的绝对距离。两端设备显示规格不同等原因导致布局不一致,会影响迁移效果。 | 38| WaterFlow | 11 | 迁移当前设备显示在顶部FlowItem的索引值,迁移后在对端设备上,将迁移索引值对应的FlowItem在WaterFlow顶部显示。同时迁移顶部FlowItem相对WaterFlow的主轴偏移值(vp单位)。 | 39 40## 示例 41 42该示例通过restoreId设置了List组件的分布式迁移标识。 43 44```ts 45// xxx.ets 46@Entry 47@Component 48struct RestoreIdExample { 49 private arr: number[] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 50 build() { 51 Column() { 52 List({ space: 20 }) { 53 ForEach(this.arr, (item:number) => { 54 ListItem() { 55 Text('' + item) 56 .width('100%') 57 .height(100) 58 .fontSize(16) 59 .textAlign(TextAlign.Center) 60 .borderRadius(10) 61 .backgroundColor(Color.Pink) 62 } 63 }, (item:number) => (item.toString())) 64 } 65 .restoreId(1) 66 } 67 } 68} 69``` 70