# RefreshLoadMoreComponentJS **Repository Path**: openharmony-tpc/RefreshLoadMoreComponentJS ## Basic Information - **Project Name**: RefreshLoadMoreComponentJS - **Description**: No description available - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2021-09-17 - **Last Updated**: 2025-04-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 🚨 **重要提示 | IMPORTANT** > > **⚠️ 此代码仓已归档。新地址请访问 [RefreshLoadMoreComponentJS](https://gitcode.com/openharmony-tpc/RefreshLoadMoreComponentJS)。| ⚠️ This repository has been archived. For the new address, please visit [RefreshLoadMoreComponentJS](https://gitcode.com/openharmony-tpc/RefreshLoadMoreComponentJS).** > --- > # RefreshLoadMoreComponentJS 这是一个自定义下拉刷新,上拉加载更多组件 组件分三部分,下拉刷新布局,内容布局,上拉加载更多布局,三种布局都可供开发者自定义。 ## 效果图 ## 如何使用 在hml中写布局 ```html
{{ $item }}
``` 在js中写下拉刷新加载数据的逻辑 ```js export default { data: { list: [], }, onInit() { for (var index = 0; index < 20; index++) { this.list.push("原始数据::" + index) } }, // 下拉刷新回调 onRefresh(e) { console.log(TAG + " onRefresh()") setTimeout(() => { this.list.length = 0 for (var index = 0; index < 22; index++) { this.list.push("第" + count + "更新数据::" + index) } //用户通知组件下拉加载数据成功 //这里是必须写的,不然会导致下拉框一直不会自动上滑消失 e.detail.resolveFunc() }, 2000) } } ``` 自定义时,需要自定义哪个布局,就使用哪个slot,slot="header"下拉刷新布局,,slot="content"内容布局或者slot="footer"上拉加载布局 注意需写上组件的@refresh="onRefresh",定义刷新逻辑方法后,且调用e.detail.resolveFunc(),通知组件往回收下拉刷新布局 如需使用上拉加载更多,需添加组件的@load-More="onLoadMore"事件方法 ```html
...
``` js中定义onLoadMore()回调方法 ```js onLoadMore(e) { console.log(TAG + " onLoadMore()") //模拟耗时操作 setTimeout(() => { if (this.list.length > 25) { e.detail.resolveFunc() this.$child("refreshLoadMoreComponent").isShowLoadMoreViewFunc(false); return; } this.list.push("加载数据::" + LoadCount) LoadCount++ e.detail.resolveFunc() }, 1000) }, ``` 同样在回调后,都需要调用e.detail.resolveFunc(),通知回组件 ## 属性事件方法 属性: ```js header-move-offset 下拉刷新布局滑动距离 ``` 事件: ```js @refresh 下拉刷新回调 ``` ```js @load-More 上拉加载更多回调 ``` ```js @refresh-State 下拉刷新状态 ``` 该方法可用于自定义下拉刷新布局时,用于对下拉状态的进行不同的逻辑显示,可以通过e.detail.state可以获取状态刷新状态 | refreshing | 刷新中 | | :----------------: | :------: | | refreshDrag | 拖拽中 | | refreshDragRelease | 拖拽释放 | 方法: ```js isShowLoadMoreViewFunc(boolean) 控制是否显示上拉加载更多布局 true->显示,false->不显示 ``` ## 运行要求 SDK 6+ ## LICENSE ``` Copyright (c) 2021 hongzhengong Image3DJS is licensed under Mulan PSL v2. You can use this software according to the terms and conditions of the Mulan PSL v2. You may obtain a copy of Mulan PSL v2 at: http://license.coscl.org.cn/MulanPSL2 THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. See the Mulan PSL v2 for more details. ```