【鸿蒙优选三方库】@ohos/pulltorefresh:一行给鸿蒙列表加上下拉刷新与上拉加载
📅 2026/7/29 17:45:15
👁️ 次浏览
【鸿蒙优选三方库】ohos/pulltorefresh一行给鸿蒙列表加上下拉刷新与上拉加载给 List / Scroll / Tabs / Grid / WaterFlow 一行加上下拉刷新 上拉加载ohos/pulltorefresh基于 OpenHarmony ArkUI 打造开箱即用、支持自定义动画、完美适配LazyForEach数据源——做列表类应用的必备利器。包名ohos/pulltorefresh当前版本v2.1.4-rc.0协议Apache License 2.0安装ohpm install ohos/pulltorefresh仓库https://gitcode.com/CPF-ApplicationTPC/ohos_pull_to_refresh一、它解决了什么问题鸿蒙应用做列表离不开两个高频交互下拉刷新上拉加载更多。但 ArkUI 原生的List/Scroll组件本身不带这套交互能力开发者要么自己监听手势 写动画重复造轮子找三方方案却发现兼容性差不支持LazyForEach、不支持某些容器组件上拉/下拉体验不一致、与系统风格割裂。ohos/pulltorefresh提供即插即用的 PullToRefresh / PullToRefreshV2 组件5 大系统容器全覆盖List / Scroll / Tabs / Grid / WaterFlow自定义动画支持替换内置动画、接自定义 Refresh 视图完美适配LazyForEach数据源。二、核心特点特性说明双版本组件PullToRefreshComponentPullToRefreshV2ComponentV25 大容器支持List / Scroll / Tabs / Grid / WaterFlow自定义动画替换内置 Refresh / LoadMore 动画或完全自定义视图LazyForEach 兼容完美适配懒加载数据源Promise 回调onRefresh/onLoadMore返回 Promise结束时机可控零权限纯 UI 组件无需任何权限三、适用场景新闻/资讯/Feed 流下拉刷新最新内容上拉加载历史。电商商品列表下拉刷新推荐上拉加载更多商品。聊天/消息列表下拉刷新新消息。订单/物流列表下拉刷新订单状态。视频/图片瀑布流WaterFlow 上拉加载。多 Tab 切换Tabs 每个 Tab 独立的下拉刷新与加载。任何需要分页加载的长列表场景。四、快速上手1. 安装ohpminstallohos/pulltorefresh2. PullToRefreshComponent 写法import{PullToRefresh}fromohos/pulltorefreshEntryComponentstruct RefreshList{privatescroller:ScrollernewScroller()Statedata:string[][Item 1,Item 2,Item 3]build(){PullToRefresh({// 必传列表数据data:$data,// 必传列表容器scroller:this.scroller,// 必传自定义主体布局customList:(){this.getListView()},// 可选下拉刷新回调onRefresh:(){returnnewPromisestring((resolve){setTimeout((){this.data[New 1,New 2,New 3]resolve(刷新成功)},2000)})},// 可选上拉加载更多回调onLoadMore:(){returnnewPromisestring((resolve){setTimeout((){this.data.push(新增条目${this.data.length})resolve()},2000)})}})}BuildergetListView(){List({scroller:this.scroller}){ForEach(this.data,(item:string){ListItem(){Text(item).height(60).padding(12)}},(item:string)item)}.edgeEffect(EdgeEffect.None)// ⚠️ 必需设置}}3. PullToRefreshV2ComponentV2 写法import{PullToRefreshV2}fromohos/pulltorefreshEntryComponentV2struct V2Demo{privatescroller:ScrollernewScroller()Localdata:string[][]build(){PullToRefreshV2({data:this.data,scroller:this.scroller,customList:(){this.listView()},onRefresh:(){/* ... */},onLoadMore:(){/* ... */}})}BuilderlistView(){List({scroller:this.scroller}){ForEach(this.data,(item:string){ListItem(){Text(item).height(60)}},(item:string)item)}.edgeEffect(EdgeEffect.None)}}4. 自定义动画PullToRefresh({// ...customLoad:null,// 用 null 使用内置或传自定义组件customRefresh:null,// 同上})// 完全自定义传入自定义 Builder 替换内置动画PullToRefresh({customRefresh:(){this.myCustomRefreshView()},customLoad:(){this.myCustomLoadView()}})五、亮点能力速览双版本组件兼容Component旧写法与ComponentV2新写法按项目风格选用。5 大容器支持List / Scroll / Tabs / Grid / WaterFlow 全覆盖。LazyForEach 友好完美适配懒加载数据源长列表性能不打折。Promise 回调onRefresh/onLoadMore返回 Promise组件内部根据 Promise resolve 状态收/放动画。可定制动画内置精美动画也允许完全自定义。零权限纯 UI 组件无任何系统权限要求。六、使用限制必读✅ 支持List / Scroll / Tabs / Grid / WaterFlow⚠️必须设置容器edgeEffect(EdgeEffect.None)暂不支持系统弹簧/阴影❌ 暂不支持页面触底自动触发上拉❌ 暂不支持不满一屏时触发上拉❌ 暂不支持代码方式触发下拉刷新❌ 暂不提供手势结束回调七、为什么值得选它覆盖面广5 大容器一次搞定Tabs 多 Tab 列表也能轻松应对。双版本组件新老 ArkUI 写法都支持。LazyForEach 友好长列表性能不受影响。动画可定制内置够用也可以完全自定义。零依赖零权限装上即用无系统负担。如果你的应用里有任何滚动 分页的列表场景ohos/pulltorefresh是那个让你 5 分钟搞定刷新的利器。
2026年山西艺术涂料包工包料市场价为60-888元一平方,价格差距完全取决于材料、施工工艺和售后保障。我深耕艺术涂料行业十年,常年服务山西太原、晋中、吕梁、临汾、大同、朔州、忻州、阳泉、长治、晋城、运城全省各地装修业主,深知本地市场报…
📅 2026/7/29 17:45:15
买geo2的时候,是不是经常听到销售在那儿巴拉巴拉说这晶体那晶体,听得脑瓜子嗡嗡的,最后脑子一热就下单了?回家一查,发现价格差不少,心里又犯嘀咕:这玩意儿到底有啥区别?是不是贵的那个就是智商税?今儿个咱不整那些虚头巴脑的学术名词,就掏心窝子聊聊geo2的两种晶型,…
📅 2026/7/29 17:43:42
[历史归档] 本文原发布于 cstriker1407.info 个人博客,内容为历史存档,仅供参考。 发布时间: 2014-02-11 | 标题:CSS学习备注 | 分类: 编程 / web / html | 标签: …
📅 2026/7/29 17:44:15
前言:校园报修系统的技术落地困境在智慧校园信息化建设中,后勤报修工单系统是刚需高频基础模块,覆盖教室设备、宿舍水电、实验室器材、公共设施等全场景运维。但在实际校园项目落地中,传统定制化开发模式普遍存在落地成本高、迭代…
📅 2026/7/29 18:42:45
libipt架构深度剖析:多层抽象设计如何实现高效解码 【免费下载链接】libipt libipt - an Intel(R) Processor Trace decoder library 项目地址: https://gitcode.com/gh_mirrors/li/libipt
libipt作为一款专业的Intel Processor Trace解码库,其多…
📅 2026/7/29 18:42:45
5分钟让Zotero变AI助手:智能文献管理的革命性体验 【免费下载链接】zotero-gpt GPT Meet Zotero. 项目地址: https://gitcode.com/gh_mirrors/zo/zotero-gpt
还在为海量文献整理而头疼吗?每天面对成堆的PDF论文,是否渴望有个智能助手帮…
📅 2026/7/29 18:42:45
Cindy多设备协同:桌面端与手机端无缝联动的使用技巧 【免费下载链接】cindy Consider it done. The open-source AI agent that works out of the box 想到,就能做到。开源、开箱即用的 AI Agent。 项目地址: https://gitcode.com/gh_mirrors/cind/ci…
📅 2026/7/29 18:42:45
1. 项目概述:当RSA遇上Coppersmith在CTF的密码学赛题里,RSA几乎是必考项。常规的RSA攻击,比如分解大素数、共模攻击、低加密指数攻击,大家可能都玩腻了。但出题人总会想方设法给你“放点水”,比如故意泄露密钥的一部分…
📅 2026/7/29 18:42:45
不是父母不爱孩子,是旧地图导航不了新大陆前几天写了一篇关于亲子沟通的文章,有一条留言让我印象特别深:「父母自认为自己经验丰富,但其实你的经验未必适合现在的社会发展和孩子的成长。」说得太对了。这句话道出了当代亲子关系中…
📅 2026/7/29 18:41:45
解密Seq的核心功能:如何利用Pipeline实现高效基因组数据处理 【免费下载链接】seq A high-performance, Pythonic language for bioinformatics 项目地址: https://gitcode.com/gh_mirrors/se/seq
Seq作为一款高性能的生物信息学专用语言,其Pipel…
📅 2026/7/29 0:00:00
Flask-Blogging插件开发指南:打造属于你的个性化博客功能 【免费下载链接】Flask-Blogging A Markdown Based Python Blog Engine as a Flask Extension. 项目地址: https://gitcode.com/gh_mirrors/fl/Flask-Blogging
Flask-Blogging是一个基于Markdown的Py…
📅 2026/7/29 0:00:00
近日,国际专注开放式技术研发的声学品牌Nank南卡,正式官宣实力艺人曾舜晞担任品牌代言人。消息一经发出便轰动全网。为什么耳机品牌不选择流量明星、老牌歌手?而且是选择曾舜晞?让我们一起来探索一下!比起短期的流量&a…
📅 2026/7/29 0:01:00
更多请点击:
https://codechina.net
第一章:AI帮助理解数学概念 人工智能正以前所未有的方式重塑数学学习的路径。通过自然语言处理与符号计算的深度融合,AI不仅能解析抽象定义,还能将定理、证明和几何直觉转化为可交互、可验证的…
📅 2026/7/29 1:14:44
1. 项目背景与核心价值去年参与的一个短剧项目让我深刻体会到传统创作流程的痛点:编剧团队花了三周打磨剧本,角色设计反复修改了七版,最后成片时又因为演员档期问题不得不临时调整分镜。这种低效的创作模式在快节奏的内容行业越来越难以为继。…
📅 2026/7/29 1:14:44
remix-i18next TypeScript类型安全实践:确保翻译键与类型定义同步 【免费下载链接】remix-i18next The easiest way to translate your React Router framework mode apps 项目地址: https://gitcode.com/gh_mirrors/re/remix-i18next
在开发多语言应用时&am…
📅 2026/7/29 1:14:46
目录
第一步:选对模板,省心一半
第二步:打开扫码点餐功能
开启功能按钮
桌台管理与桌码生成
第三步:个性化设计,打造品牌感
调整点餐页面
设置点餐规则 你还在让顾客站着排队点餐吗?2025年ÿ…
📅 2026/7/29 7:15:11
在业务中快速构建一个能理解私有文档、准确回答专业问题的智能助手,是很多开发团队面临的共同挑战。传统方案往往需要从零开始搭建复杂的 RAG(检索增强生成)系统,涉及文档解析、向量化、检索、大模型调用等多个环节,整…
📅 2026/7/29 17:15:46
FAE放射组学分析工具:医学影像特征探索的完整解决方案 【免费下载链接】FAE FeAture Explorer 项目地址: https://gitcode.com/gh_mirrors/fae/FAE
你是否曾经面对海量医学影像数据感到无从下手?想要从CT、MRI等影像中提取有价值的定量特征&#…
📅 2026/7/29 5:15:05