• openharmony容器组件之Refresh


    Refresh:下拉刷新容器
    Refresh(value: {refreshing: boolean, offset?: Length, friction?: number})
    refreshing:当前组件是否正在刷新
    offset:刷新组件静止时距离父组件顶部的距离(默认16)
    friction:下拉摩擦系数,取值范围为0到100(默认62)
            0表示下拉刷新容器不跟随手势下拉而下拉
            100表示下拉刷新容器紧紧跟随手势下拉而下拉
            数值越大,下拉刷新容器跟随手势下拉的反应越灵敏
    事件:
    onStateChange(callback: (state: RefreshStatus) => void)    当前刷新状态变更时,触发回调。
        state:刷新状态
            Inactive:默认未下拉状态
            Drag:下拉中,下拉距离小于刷新距离
            OverDrag:下拉中,下拉距离超过刷新距离
            Refresh:下拉结束,回弹至刷新距离,进入刷新状态
            Done:刷新结束,返回初始状态(顶部)
    onRefreshing(callback: () => void)    进入刷新状态时触发回调

    效果如图:

     代码:

    1. @Entry
    2. @Component
    3. struct RefreshPage {
    4. @State isRefreshing: boolean = false
    5. @State counter: number = 0
    6. build() {
    7. Column() {
    8. Refresh({ refreshing: this.isRefreshing, offset: 120, friction: 100 }) {
    9. Text('pull down and refresh:' + this.counter).fontSize(30).margin(10)
    10. }.onStateChange((refreshStatus: RefreshStatus) => {
    11. console.info('Refresh onStatueChange state is ' + refreshStatus.toString())
    12. }).onRefreshing(() => {
    13. setTimeout(() => {
    14. this.counter++
    15. this.isRefreshing = false
    16. }, 1000)
    17. console.log('onRefreshing test')
    18. })
    19. }
    20. .width('100%')
    21. .height('100%')
    22. }
    23. }

  • 相关阅读:
    Vim程序编辑器
    产品经理的工作职责是什么?
    计算机毕设(附源码)JAVA-SSM基于的小型房屋租赁平台
    深入解析:微软Edge浏览器的防钓鱼与恶意软件保护机制
    InnoDB学习之死锁
    《算法通关村第一关——链表青铜挑战笔记》
    左连接一对多的情况
    Live555(一)
    数据库注入提权总结(四)
    Hadoop搭建HA遇到的坑
  • 原文地址:https://blog.csdn.net/lplj717/article/details/126265999