纯血鸿蒙实战开发—如何添加下拉革新组件PullToRefresh
1.PullToRefresh2.添加依靠
ohpm install @ohos/pulltorefresh oh-package.json5版本修改为2.0.1。
{
"name": "base_demo",
"version": "1.0.0",
"description": "Please describe the basic information.",
"main": "",
"author": "",
"license": "",
"dependencies": {
"@ohos/pulltorefresh": "2.0.1"
},
"devDependencies": {
"@ohos/hypium": "1.0.6"
}
} 3.示例代码
3.1 PullToRefreshPage测试页面
import { PullToRefresh } from '@ohos/pulltorefresh'
@Entry
@Component
struct PullToRefreshPage {
TAG = 'PullToRefreshPage'
@State itemList: string[] = ['北京', '天津', '上海', '深圳', '珠海', '厦门', '青岛', '大连', '威海', '烟台', '旅顺', '长春', '哈尔滨', '沈阳']
private scroller: Scroller = new Scroller();
@Builder
navigationTitle() {
Column() {
Text('城市')
.fontColor('#182431')
.fontSize(30)
.lineHeight(41)
.fontWeight(700)
}.alignItems(HorizontalAlign.Start)
}
@Builder
buildList() {
List({ space: 3, scroller: this.scroller }) {
ForEach(this.itemList, (item, index) => {
ListItem() {
Row() {
Image($r('app.media.icon'))
.width(40)
.height(40)
.margin({ left: 10, right: 20 })
Text(`${index}.${item}`).fontSize(20)
}.width('100%')
.height('100%')
}
.width('100%')
.height(60)
})
}
.divider({ strokeWidth: 0.5, color: Color.Green, startMargin: 10, endMargin: 10 })
.width('100%')
// 特别注意:必须设置列表为滑动到边缘无效果,否则无法触发pullToRefresh组件的上滑下拉方法。
.edgeEffect(EdgeEffect.None)
}
build() {
Navigation() {
PullToRefresh({
// 必传项,列表组件所绑定的数据
data: this.itemList,
// 必传项,需绑定传入主体布局内的列表或宫格组件
scroller: this.scroller,
// 必传项,自定义主体布局,内部有列表或宫格组件
customList: () => {
this.buildList()
},
// 可选项,下拉刷新回调
onRefresh: () => {
console.info(`${this.TAG} onRefresh`)
return new Promise<string>((resolve, reject) => {
// 模拟网络请求操作,请求网络2秒后得到数据,通知组件,变更列表数据
console.info(`${this.TAG} Promise`)
setTimeout(() => {
resolve('刷新成功');
console.info(`${this.TAG} resolve`)
//this.itemList = this.dataNumbers;
const citys: string[] = ['上拉刷新出来的郑州', '上拉刷新出来的济南', '上拉刷新出来的沈阳']
this.itemList = this.itemList.concat(citys)
console.info(`${this.TAG} itemList:${this.itemList} `)
}, 1000);
});
},
// 可选项,上拉加载更多回调
onLoadMore: () => {
return new Promise<string>((resolve, reject) => {
console.info(`${this.TAG} onLoadMore Promise`)
// 模拟网络请求操作,请求网络2秒后得到数据,通知组件,变更列表数据
setTimeout(() => {
console.info(`${this.TAG}onLoadMore resolve`)
resolve('');
this.itemList.push('上拉加载出来的武汉')
console.info(`${this.TAG} onLoadMore itemList:${this.itemList} `)
}, 1000);
});
},
customLoad: null,
customRefresh: null,
})
}
.title(this.navigationTitle())
.titleMode(NavigationTitleMode.Mini)
}
} 3.2.注意事项
List必须设置滑动到边沿没有效果
edgeEffect(EdgeEffect.None) 否则无法触发pullToRefresh组件的上滑下拉方法。
4.效果
https://i-blog.csdnimg.cn/blog_migrate/68908f782ab0aeac0756ddb6675f672a.png
末了
假如你想快速提升鸿蒙技能,那么可以直接领取这份包含了:【OpenHarmony多媒体技能、Stage模型、ArkUI多端摆设、分布式应用开发、音频、视频、WebGL、Napi组件、OpenHarmony内核、Harmony南向开发、鸿蒙项目实战】等技能知识点。
鸿蒙Next全套VIP学习资料←点击领取!(安全链接,放心点击)
1.鸿蒙焦点技能学习路线
https://i-blog.csdnimg.cn/blog_migrate/36c80c89abe32de74b3d2808bc0f5e14.png
2.大厂面试必问面试题
https://i-blog.csdnimg.cn/blog_migrate/54545dc24db55664221a0a114662baa7.png
3.鸿蒙南向开发技能
https://i-blog.csdnimg.cn/blog_migrate/c8692deacd7801cfc886f2aeb5c9de68.png
4.鸿蒙APP开发必备
https://i-blog.csdnimg.cn/blog_migrate/c510342c258bd907f950db431ae04b02.png
5.HarmonyOS Next 最新全套视频教程
https://i-blog.csdnimg.cn/blog_migrate/2c1c668d3a62f5da17582277c8c6b3af.png
6.鸿蒙生态应用开发白皮书V2.0PDF
https://i-blog.csdnimg.cn/blog_migrate/fd3ae1cb27c9387092ad0fe7c45608ee.png
这份全套完整版的学习资料已经全部打包好,朋友们假如必要可以点击→鸿蒙Next全套VIP学习资料免费领取(安全链接,放心点击)
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]