ts-universal-component-area-change-event.md 1.5 KB
Newer Older
Z
zengyawen 已提交
1 2
# 组件区域变化事件

T
explain  
tianyu 已提交
3 4
组件区域变化事件指组件显示的尺寸、位置等发生变化时触发的事件。

H
geshi  
HelloCrease 已提交
5
>  **说明:**
H
HelloCrease 已提交
6
>  从API Version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
Z
zengyawen 已提交
7 8 9 10 11 12 13 14 15


## 权限列表




## 事件

H
HelloCrease 已提交
16 17 18
| 名称                                       | 支持冒泡 | 功能描述                                     |
| ---------------------------------------- | ---- | ---------------------------------------- |
| onAreaChange(event: (oldValue: Area, newValue: Area) => void) | 否    | 组件区域变化时触发该回调,Area类型描述见[Area](../../ui/ts-types.md#area8)。 |
Z
zengyawen 已提交
19 20 21 22


## 示例

H
geshi  
HelloCrease 已提交
23 24
```ts
// xxx.ets
Z
zengyawen 已提交
25 26 27 28
@Entry
@Component
struct AreaExample {
  @State value: string = 'Text'
G
gmy 已提交
29
  @State size1: string = ''
Z
zengyawen 已提交
30 31 32 33 34 35 36 37 38 39

  build() {
    Column() {
      Text(this.value)
        .backgroundColor(Color.Green).margin(30).fontSize(20)
        .onClick(() => {
          this.value = this.value + 'Text'
        })
        .onAreaChange((oldValue: Area, newValue: Area) => {
          console.info(`Ace: on area change, oldValue is ${JSON.stringify(oldValue)} value is ${JSON.stringify(newValue)}`)
G
gmy 已提交
40
          this.size1 = JSON.stringify(newValue)
Z
zengyawen 已提交
41 42 43 44 45 46 47 48 49
        })
      Text('new area is: \n' + this.size).margin({ right: 30, left: 30 })
    }
    .width('100%').height('100%').margin({ top: 30 })
  }
}
```

![zh-cn_image_0000001189634870](figures/zh-cn_image_0000001189634870.gif)