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 自定义组件生命周期
1184浏览 • 1回复 待解决
HarmonyOS 页面组件的生命周期、自定义组件生命周期监听问题
1330浏览 • 1回复 待解决
HarmonyOS 有没有比aboutToAppear还要早的生命周期
1304浏览 • 1回复 待解决
HarmonyOS 自定义组件生命周期回调有没有build执行后的回调
1216浏览 • 1回复 待解决
HarmonyOS 自定义生命周期问题
1020浏览 • 1回复 待解决
HarmonyOS 自定义组件:@Component 的生命周期问题
1092浏览 • 1回复 待解决
HarmonyOS 有没有比aboutToAppear还要早的生命周期啊?
1306浏览 • 1回复 待解决
自定义组件能否获取page的生命周期呢?
1263浏览 • 1回复 待解决
自定义组件是否有生命周期可见不可见?
3133浏览 • 1回复 待解决
自定义组件没有attach到视图树以及从视图树detach的生命周期
1492浏览 • 1回复 待解决
#鸿蒙通关秘籍#ArkUI中的自定义组件生命周期和页面生命周期有什么区别?
1332浏览 • 1回复 待解决
HarmonyOS 有没有页面每次出现都执行的生命周期方法
797浏览 • 1回复 待解决
HarmonyOS NEXT的页面和自定义组件生命周期有哪些阶段?
839浏览 • 2回复 待解决
#鸿蒙通关秘籍#如何理解和使用自定义组件的生命周期?
1283浏览 • 1回复 待解决
页面与自定义组件之间的生命周期有什么区别?
1513浏览 • 1回复 待解决
如何在page中获取UIAbility生命周期做自定义逻辑
2785浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何有效管理 EmbeddedUIExtensionAbility 的生命周期?
1453浏览 • 1回复 待解决
#鸿蒙学习大百科#自定义组件的生命周期都有哪些?
1091浏览 • 1回复 待解决
HarmonyOS 有没有类似lifecycle的生命周期监听?怎样能统一监听 Component 的生命周期?
1014浏览 • 1回复 待解决
HarmonyOS EntryFormAbility中的生命周期没有回调
984浏览 • 1回复 待解决
HarmonyOS 是否有支持应用生命周期、页面生命周期、组件生命周期Hook的API?
1675浏览 • 1回复 待解决
HarmonyOS 生命周期的区别
1403浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在HarmonyOS中实现使用NodeController管理自定义节点的生命周期?
1158浏览 • 1回复 待解决
可以使用onAppear方法放在组件上,组件完成显示的时候会调用。参考:
https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-universal-events-show-hide-V5#示例