根据描述,看了下app,应该对应的是热门门店- 户型,房源,服务这块布局的样式,需要上拉刷新的是中间的房源,参考这块界面,用PullToRefresh实现了需要的界面,以下代码请参考:import { PullToRefresh } from '@ohos/pulltorefresh' @Entry @Component struct Index { @State refreshText: string = ''; private dataNumbers: string[] = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10']; private dataStrings: string[] = ['我的评论', '与我相关', '个人中心1', '个人中心2', '个人中心3', '我的发布', '设置', '退出登录']; @State data: string[] = this.dataStrings; // 需绑定列表或宫格组件 private scroller: Scroller = new Scroller(); build() { List({ space: 12 }) { ListItemGroup() { ListItem() { this.TopHeader() } } ListItemGroup({ header: this.header }) { ListItem() { Tabs({}) { TabContent() { this.ListA() } TabContent() { Column() { PullToRefresh({ // 必传项,列表组件所绑定的数据 data: $data, // 必传项,需绑定传入主体布局内的列表或宫格组件 scroller: this.scroller, // 必传项,自定义主体布局,内部有列表或宫格组件 customList: () => { // 一个用@Builder修饰过的UI方法 this.getListView(); }, // 可选项,下拉刷新回调 onRefresh: () => { return new Promise<string>((resolve, reject) => { // 模拟网络请求操作,请求网络1秒后得到数据,通知组件,变更列表数据 setTimeout(() => { resolve('刷新成功'); this.data = this.dataNumbers; }, 1000); }); }, // 可选项,上拉加载更多回调 onLoadMore: () => { return new Promise<string>((resolve, reject) => { // 模拟网络请求操作,请求网络1秒后得到数据,通知组件,变更列表数据 setTimeout(() => { resolve(''); this.data.push("增加的条目" + this.data.length); }, 1000); }); }, customLoad: null, customRefresh: null, }) } } TabContent() { this.ListA() } } .barHeight(0) } } } .scrollBar(BarState.Off) .backgroundColor('#efefef') } @Builder private getListView() { List({ space: 20, scroller: this.scroller }) { ForEach(this.data, (item: string) => { ListItem() { Text(item) .width('100%') .height(150) .fontSize(20) .textAlign(TextAlign.Center) .backgroundColor('#95efd2') } }) } .backgroundColor('#eeeeee') .divider({ strokeWidth: 1, color: 0x222222 }) .edgeEffect(EdgeEffect.None) // 必须设置列表为滑动到边缘无效果 .nestedScroll({ scrollForward: NestedScrollMode.PARENT_FIRST, scrollBackward: NestedScrollMode.SELF_FIRST }) } @Builder ListA() { List({ space: 20, initialIndex: 0 }) { ForEach(this.dataNumbers, (item: number) => { ListItem() { Text('' + item) .width('100%') .height(100) .fontSize(16) .textAlign(TextAlign.Center) .borderRadius(10) .backgroundColor(0xFFFFFF) } }, (item: string) => item) } .edgeEffect(EdgeEffect.None) .nestedScroll({ scrollForward: NestedScrollMode.PARENT_FIRST, scrollBackward: NestedScrollMode.SELF_FIRST }) } @Builder TopHeader() { Text('主标题和图片').width('100%').height(400) } @Builder header() { Text('副标题').width('100%').height(60) } }PullToRefresh组件需要在DevEcoStudio的终端输入:ohpm install @ohos/pulltorefresh,下载一下。
根据描述,看了下app,应该对应的是热门门店- 户型,房源,服务这块布局的样式,需要上拉刷新的是中间的房源,参考这块界面,用PullToRefresh实现了需要的界面,以下代码请参考:
PullToRefresh组件需要在DevEcoStudio的终端输入:ohpm install @ohos/pulltorefresh,下载一下。