From 4ad9fb2db4a2cf6bac9a0cfbd22c22eb34f0be9e Mon Sep 17 00:00:00 2001 From: liuyanzhi Date: Tue, 17 Jun 2025 14:26:53 +0800 Subject: [PATCH] fix Signed-off-by: liuyanzhi --- .../arkui-ts/ts-universal-component-size-change-event.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-universal-component-size-change-event.md b/zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-universal-component-size-change-event.md index 46f9c5dbf6c..749b7c09212 100644 --- a/zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-universal-component-size-change-event.md +++ b/zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-universal-component-size-change-event.md @@ -16,7 +16,11 @@ onSizeChange(event: SizeChangeCallback): T >**说明:** > ->该接口在布局发生变化时触发,由于计算精度的关系,其返回值可能与真实物理尺寸存在细微的差异。 +> 1. 该接口在布局发生变化时触发,由于计算精度的关系,其返回值可能与真实物理尺寸存在细微的差异。 +> +> 2. onSizeChange是布局过程中触发的同步回调,在里面直接改变状态变量存在被带入动画闭包的风险。 +> 原因是,动画会将动画前的布局和动画闭包后的布局进行对比,当onSizeChange的回调在动画前的布局中被同步触发时,onSizeChange回调内做的改变和动画闭包的改变会一起带入动画。 +> 可以通过在onSizeChange里使用delay为0的[setTimeOut](../../../reference/common/js-apis-timer.md#settimeout)或[postFrameCallback](../../../reference/apis-arkui/js-apis-arkui-UIContext.md#postframecallback12)将UI处理逻辑抛出,使其异步执行以避免此类问题。 **卡片能力:** 从API version 12开始,该接口支持在ArkTS卡片中使用。 -- Gitee