• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# 分布式迁移标识
2
3组件的分布式迁移标识,指明了该组件在分布式迁移场景下可以将特定状态恢复到对端设备。
4
5>  **说明:**
6>
7>  从API Version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
8
9## 属性
10
11| 名称        | 参数类型   | 描述                                       |
12| --------- | ------ | ---------------------------------------- |
13| restoreId | number | 标记支持分布式迁移的组件Id,用于两端设备组件的配对。同一个应用中各个支持分布式迁移组件的Id必须不同。 |
14
15## 支持的组件
16
17| 组件名称      | 起始版本 | 迁移状态                                     |
18| --------- | ---- | ---------------------------------------- |
19| List      | 8    | 迁移当前设备显示在顶部ListItem的索引值,迁移后在对端设备上,将迁移索引值对应的ListItem在List中完整地置顶显示。 |
20| Grid      | 9    | 迁移当前设备显示在顶部GridItem的索引值,迁移后在对端设备上,将迁移索引值对应的GridItem在Grid中完整地置顶显示。ScrollBar位置无法迁移。 |
21| Scroll    | 9    | 迁移距顶部滚动的绝对距离。两端设备显示规格不同等原因导致布局不一致,会影响迁移效果。 |
22| TextArea  | 9    | 迁移输入的文本内容和光标位置。                          |
23| TextInput | 9    | 迁移输入的文本内容和光标位置。                          |
24
25## 示例
26
27```ts
28// xxx.ets
29@Entry
30@Component
31struct RestoreIdExample {
32  private arr: number[] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
33  build() {
34    Column() {
35      List({ space: 20 }) {
36        ForEach(this.arr, (item:number) => {
37          ListItem() {
38            Text('' + item)
39              .width('100%')
40              .height(100)
41              .fontSize(16)
42              .textAlign(TextAlign.Center)
43              .borderRadius(10)
44              .backgroundColor(Color.Pink)
45          }
46        }, (item:number) => (item.toString()))
47      }
48      .restoreId(1)
49    }
50  }
51}
52```
53