HarmonyOS 鸿蒙Next 使用变量控制半模态关闭 动画会失效 有没有人遇到过呀

发布于 1周前 作者 eggper 最后一次编辑是 5天前 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 使用变量控制半模态关闭 动画会失效 有没有人遇到过呀

.bindSheet($$this.isOpenCard, this.CardInfo(), {

  detents: (this.isOpenBillEditor ? [SheetSize.LARGE, 0] : [SheetSize.FIT_CONTENT, 0]),
  preferType: SheetType.BOTTOM,
  showClose: false,
  dragBar: true,
  backgroundColor: $r('app.color.backGround'),
  // shouldDismiss: () => {
  //   this.isOpenCard = false
  // }
  onWillDismiss: () => {
    if (this.isOpenKindEditor || this.isOpenAccountEditor) {
      this.isOpenKindEditor = false
      this.isOpenAccountEditor = false
    } else if (this.isOpenKindAccountEditor) {
      this.isOpenKindAccountEditor = false
    } else if (this.isOpenBillEditor && this.isOpenShowBill) {
      this.isOpenBillEditor = false
    } else if (this.isOpenBillEditor && !this.isOpenShowBill) {
      this.isOpenBillEditor = false
      this.isOpenCard = false
    } else if (this.isOpenShowBill) {
      this.isOpenShowBill = false
      this.isOpenCard = false
    } else {
      this.isOpenCard = false
    }
  }

})

使用这个this.isOpenCard = false 控制半模态页面关闭时动画失效


更多关于HarmonyOS 鸿蒙Next 使用变量控制半模态关闭 动画会失效 有没有人遇到过呀的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

5 回复

我试了动画是正常的,不过因为我不知道你那么多isOpenXXX变量是干什么的,所以onWillDisMiss()里只有

深色代码主题
复制
this.isOpenCard = false

更多关于HarmonyOS 鸿蒙Next 使用变量控制半模态关闭 动画会失效 有没有人遇到过呀的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


控制面板显示的内容的

控制面板显示的内容的

不是,因为你的很多isOpenXXX我都没法定义且用不到,只能删掉,删掉那些后我的动画是正常的。所以如果要定位问题,最好能够给个最小复现demo

在HarmonyOS鸿蒙Next系统中,使用变量控制半模态关闭动画失效的问题,可能是由于动画系统的状态管理或变量同步机制未正确处理导致。具体原因可能涉及以下几个方面:

  1. 动画状态管理:半模态关闭动画的状态可能没有被正确更新或监听,导致变量变化无法触发动画执行。

  2. UI刷新机制:变量的变化可能没有触发UI界面的重新渲染或动画框架的重新计算,导致动画效果未能按预期显示。

  3. 系统API使用:可能在使用系统提供的动画控制API时存在误解或不当使用,导致动画逻辑未按预期执行。

  4. 多线程或异步处理:如果变量更新和动画控制发生在不同的线程或异步任务中,可能导致状态同步问题,进而影响动画效果。

解决此类问题通常需要检查动画控制逻辑、变量更新机制以及与UI刷新的关联关系。确保动画状态与变量变化一致,并正确利用系统提供的动画和UI更新机制。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部