HarmonyOS list组件中onReachEnd方法在onappear之后就会立刻执行一次

正常情况不是应该用户滑动到底部时才会触发onappear吗?

HarmonyOS
2024-12-25 14:18:32
867浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
superinsect

onappear和是否挂载有关系,只要是页面挂载了就会触发,和是否滑到底部没有关系,onReachEnd是list滑到末尾时才会触发。可以新建一个字段根据字段判断是否为初始值,若是初始值则不触发onReachEnd,示例参考如下:

@Entry
@Component
struct ListDemo {
  @State arr: number[] = [];
  @State count: number = 0;

  queryArr() {
    for (let i = 1; i < 9; i++) {
      this.arr.push(this.count * 8 + i);
    }
  }

  aboutToAppear(): void {
    this.queryArr();
  }

  build() {
    Column() {
      Text('刷新').fontSize(50)
        .height("50%")
        .onClick(() => {
          this.count++;
          this.queryArr()
        })

      List({ space: 10 }) {
        ForEach(this.arr, (item: number) => {
          ListItem() {
            Text(`${item}`)
              .width('100%')
              .height(100)
              .fontSize(20)
              .fontColor(Color.White)
              .textAlign(TextAlign.Center)
              .borderRadius(10)
              .backgroundColor(0x007DFF)
          }
        }, (item: number) => JSON.stringify(item))
      }
      .onAppear(() => {
        console.log('onAppear')
      })
      .onReachEnd(() => {
        if (this.count === 0) {
          return;
        }
        console.log('onReachEnd')
      })
    }
    .padding(12)
    .height('100%')
    .backgroundColor(0xF1F3F5)
  }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
分享
微博
QQ
微信
回复
2024-12-25 16:09:21


相关问题
HarmonyOS 每秒执行一次的函数
1022浏览 • 2回复 待解决
HarmonyOS setInterval如何立即执行一次
1077浏览 • 1回复 待解决
HarmonyOS web组件拦截每一次跳转
729浏览 • 1回复 待解决
HarmonyOS flutter run 会自动uninstall 一次
845浏览 • 1回复 待解决
HarmonyOS里面不能一次创建多级目录
1107浏览 • 1回复 待解决
HarmonyOS 如何只取消某一次的监听
812浏览 • 1回复 待解决
有没有一次编译,多端部署的资料
1115浏览 • 1回复 待解决
动画如何做渲染一次不消失
8613浏览 • 1回复 待解决