ts-universal-attributes-restoreId.md 1.8 KB
Newer Older
H
huzeqi 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
# 分布式迁移标识

组件的分布式迁移标识,指明了该组件在分布式迁移场景下可以将特定状态恢复到对端设备。

>  **说明:**
>
> 从API Version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。

## 属性

| 名称 | 参数类型 | 描述 |
| -------- | -------- | -------- |
| restoreId | number | 标记不同支持分布式迁移组件的Id,用于两端设备组件的配对。同一个应用中各个支持分布式迁移组件的Id需不同。 |

## 支持的组件

| 名称 | 起始版本 | 迁移状态 |
| -------- | -------- | -------- |
| List | 8 | 迁移当前设备显示在顶部item的序号,迁移后在对端设备上,将迁移item完整的置顶显示。 |
| Grid | 9 | 迁移当前设备显示在顶部item的序号,迁移后在对端设备上,将迁移item完整的置顶显示。ScrollBar位置无法迁移。 |
| Scroll | 9 | 迁移距顶部滚动的绝对距离。两端设备显示规格不同等原因导致布局不一致,会影响迁移效果。 |
| TextArea | 9 | 迁移文本内容和首光标位置。 |
| TextInput | 9 | 迁移文本内容和首光标位置。 |

## 示例

```ts
// xxx.ets
@Entry
@Component
struct RestoreIdExample {
  private arr: number[] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
  build() {
    Column() {
      List({ space: 20 }) {
        ForEach(this.arr, (item) => {
          ListItem() {
            Text('' + item)
              .width('100%')
              .height(100)
              .fontSize(16)
              .fontColor(0xFFFFFF)
              .textAlign(TextAlign.Center)
              .borderRadius(10)
              .backgroundColor(Color.Pink)
          }
        }, item => item)
      }
      .restoreId(1)
    }
  }
}
```