#鸿蒙通关秘籍#HarmonyOS中如何管理步骤导航的页面切换控制?

HarmonyOS
1天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
ADSL梦幻岛

通过自定义的FooterView组件,在Swiper的每个步骤页面实现统一的前后导航控制。由FooterView在每个步骤完成后校验数据,只有通过校验,才通过控制器切换到下一个步骤。需确保每个步骤都独立实现自己的校验逻辑:

@Component
export struct FooterView {
  controller: SwiperController | undefined = undefined;
  nextCb: Function | undefined = undefined;

  build() {
    Row() {
      Button()
        .onClick(() => {
          if (this.nextCb === undefined) {
            this.controller?.showNext();
          } else if (this.nextCb()) {
            this.controller?.showNext();
          }
        })
    }
  }
}

CategoryView中,实现相应的校验函数:

CategoryView({
  nextCb: () => {
    let verified: boolean = this.submitInfo?.category !== undefined;
    if (!verified) {
      promptAction.showToast({ message: $r("app.string.stepper_info_not_filled") });
    }
    return verified;
  }
})
分享
微博
QQ
微信
回复
1天前
相关问题