当前位置: 首页 > article >正文

鸿蒙Harmony-Refresh 容器组件

鸿蒙Harmony-Refresh 容器组件笔记


1. 组件概述
  • 作用:用于实现下拉刷新功能,通常包裹可滚动组件(如 Scroll/List/Grid),提供数据刷新的交互体验。
  • 核心功能:监听下拉动作、触发刷新状态、自定义刷新 UI。

2. 导入方式
import { Refresh } from '@ohos.arkui.advanced'

3. 子组件
  • 必须包含且只能包含一个子组件(通常为 Scroll/List/Grid 等滚动容器)。

  • 示例:

    Refresh() {
      Scroll() {
        // 内容区域
      }
    }
    

4. 关键属性
属性名类型说明
refreshingboolean控制刷新状态(true 表示正在刷新,false 结束刷新)
offset`numberstring`
friction`numberstring`
disabledboolean是否禁用下拉刷新功能(默认 false

5. 事件说明
事件名触发时机回调参数
onStateChange(callback: (state: RefreshStatus) => void)下拉状态变化时触发state 表示当前状态: - Inactive(未激活) - Drag(拖动中) - OverDrag(超过阈值) - Refresh(刷新中) - Done(刷新完成)
onRefreshing(callback: () => void)用户下拉超过阈值松手后触发

6. 使用示例
@Entry
@Component
struct RefreshExample {
  @State isRefreshing: boolean = false

  build() {
    Column() {
      Refresh({ refreshing: this.isRefreshing, offset: 120 }) {
        Scroll() {
          // 滚动内容
        }
      }
      .onStateChange((state: RefreshStatus) => {
        console.log(`Refresh state: ${state}`)
      })
      .onRefreshing(() => {
        // 模拟异步加载
        setTimeout(() => {
          this.isRefreshing = false // 结束刷新
        }, 2000)
      })
    }
  }
}

7. 注意事项
  1. 层级关系Refresh 必须是滚动容器的直接父组件
  2. 状态控制:刷新完成后需手动将 refreshing 设为 false
  3. 性能优化:避免在 onRefreshing 中执行耗时操作,建议使用异步任务。
  4. 样式定制:可通过子组件自定义加

http://www.kler.cn/a/533972.html

相关文章:

  • 宾馆民宿酒店住宿管理系统+小程序项目需求分析文档
  • 基于springboot的体质测试数据分析及可视化设计
  • 电子电器架构 --- 电子电气架构设计要求与发展方向
  • Vim的基础命令
  • Java 数据库连接池:HikariCP 与 Druid 的对比
  • PythonStyle MVC 开发框架
  • 【kafka的零拷贝原理】
  • [Java]函数式编程
  • 基于微信小程序的居住证申报系统设计与实现(LW+源码+讲解)
  • SpringBoot扩展篇:@Scope和@Lazy源码解析
  • Scala语言的人工智能
  • 搭建集成开发环境PyCharm
  • vue2-为啥data属性是一个函数而不是对象
  • 基于SpringBoot的在线远程考试系统的设计与实现(源码+SQL脚本+LW+部署讲解等)
  • [创业之路-276]:从燃油汽车到智能汽车:工业革命下的价值变迁
  • Nginx高并发性能优化
  • vue2-key的原理与作用
  • 开源安全一站式构建!开启企业开源治理新篇章
  • Java 中 LinkedList 的底层源码
  • 【后端开发】系统设计101——通信协议,数据库与缓存,架构模式,微服务架构,支付系统(36张图详解)
  • 在C#中使用DeepSeek API实现自然语言处理、文本分类、情感分析等
  • HTML语言的软件工程
  • flutter 专题四十七 Flutter 应用启动流程分析
  • 【力扣】240.搜索二维矩阵 II
  • 4 前端前置技术(上):AJAX技术、Axios技术(前端发送请求)
  • idea分析sql性能