HarmonyOS 自定义控件的aboutToAppear生命周期里执行animateTo动画没有效果
大致的原因推测可能是因为aboutToAppear在build之前,目前在aboutToAppear中加setTimeout可以解决该问题,setTimeout感觉无法完全保证将动画执行放到build后,想咨询下有没有更优的解决方案。
@Component
export struct Block {
@Prop blockWidth: Length = 40
@Prop blockHeight: Length = 40
@Prop needDynamics: boolean = true
@Prop blockRadius: Resource | number = $r('app.float.radiusS')
@State opacityValue: number = this.needDynamics ? 0.4: 1
startAnimation () {
if (!this.needDynamics) return
animateTo({
playMode: PlayMode.Alternate,
iterations: -1,
duration: 1000,
}, () => {
this.opacityValue = 1
})
}
aboutToAppear(): void {
// 不加setTimeout动画无效,setTimeout感觉无法完全保证将动画执行放到build后
setTimeout(() => {
this.startAnimation()
}, 0)
}
build() {
Column()
.width(this.blockWidth)
.height(this.blockHeight)
.borderRadius(this.blockRadius)
.backgroundColor($r('app.color.fill2'))
.opacity(this.opacityValue)
}
}
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
HarmonyOS 自定义组件生命周期
1220浏览 • 1回复 待解决
HarmonyOS 页面组件的生命周期、自定义组件生命周期监听问题
1371浏览 • 1回复 待解决
HarmonyOS 有没有比aboutToAppear还要早的生命周期
1355浏览 • 1回复 待解决
HarmonyOS 自定义组件生命周期回调有没有build执行后的回调
1268浏览 • 1回复 待解决
HarmonyOS 自定义生命周期问题
1058浏览 • 1回复 待解决
HarmonyOS 自定义组件:@Component 的生命周期问题
1119浏览 • 1回复 待解决
HarmonyOS 有没有比aboutToAppear还要早的生命周期啊?
1343浏览 • 1回复 待解决
自定义组件能否获取page的生命周期呢?
1313浏览 • 1回复 待解决
自定义组件是否有生命周期可见不可见?
3183浏览 • 1回复 待解决
#鸿蒙通关秘籍#ArkUI中的自定义组件生命周期和页面生命周期有什么区别?
1379浏览 • 1回复 待解决
自定义组件没有attach到视图树以及从视图树detach的生命周期
1517浏览 • 1回复 待解决
HarmonyOS 有没有页面每次出现都执行的生命周期方法
852浏览 • 1回复 待解决
HarmonyOS NEXT的页面和自定义组件生命周期有哪些阶段?
886浏览 • 2回复 待解决
#鸿蒙通关秘籍#如何理解和使用自定义组件的生命周期?
1326浏览 • 1回复 待解决
页面与自定义组件之间的生命周期有什么区别?
1572浏览 • 1回复 待解决
如何在page中获取UIAbility生命周期做自定义逻辑
2827浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何有效管理 EmbeddedUIExtensionAbility 的生命周期?
1509浏览 • 1回复 待解决
#鸿蒙学习大百科#自定义组件的生命周期都有哪些?
1136浏览 • 1回复 待解决
HarmonyOS 有没有类似lifecycle的生命周期监听?怎样能统一监听 Component 的生命周期?
1047浏览 • 1回复 待解决
HarmonyOS 是否有支持应用生命周期、页面生命周期、组件生命周期Hook的API?
1750浏览 • 1回复 待解决
HarmonyOS EntryFormAbility中的生命周期没有回调
1044浏览 • 1回复 待解决
HarmonyOS 生命周期的区别
1480浏览 • 1回复 待解决
HarmonyOS navdestination的生命周期,与页面和组件生命周期的关系
1764浏览 • 1回复 待解决
可以使用onAppear方法放在组件上,组件完成显示的时候会调用。参考:
https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-universal-events-show-hide-V5#示例