HarmonyOS ListItem嵌套Tabs显示不全
代码如下,结构为List嵌套Tabs,Tabs嵌套List,显示不全,哪里有问题吗
import { PullToRefresh, PullToRefreshConfigurator } from '@ohos/pulltorefresh'
const tabsList = ["能源", "化工", "塑料", "化纤", "聚氨酯"]
@Entry
@Component
struct KeyboadPage {
private refreshScroller: Scroller = new Scroller();
private refreshConfigurator: PullToRefreshConfigurator = new PullToRefreshConfigurator();
@State list: Array<string> =
["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t"]
build() {
Column({ space: 10 }) {
PullToRefresh({
// 必传项,列表组件所绑定的数据
data: $list,
refreshConfigurator: this.refreshConfigurator,
// 必传项,需绑定传入主体布局内的列表或宫格组件
scroller: this.refreshScroller,
// 必传项,自定义主体布局,内部有列表或宫格组件
customList: () => {
// 一个用@Builder修饰过的UI方法
this.getListView();
},
// 可选项,下拉刷新回调
onRefresh: () => {
return new Promise<string>((resolve, reject) => {
// 模拟网络请求操作,请求网络2秒后得到数据,通知组件,变更列表数据
setTimeout(() => {
resolve('刷新成功');
}, 2000);
});
},
// 可选项,上拉加载更多回调
onLoadMore: () => {
return new Promise<string>((resolve, reject) => {
// 模拟网络请求操作,请求网络2秒后得到数据,通知组件,变更列表数据
setTimeout(() => {
resolve('');
}, 2000);
});
},
customLoad: null,
customRefresh: null,
})
.layoutWeight(1)
}
}
@Builder
getListView() {
List({ scroller: this.refreshScroller }) {
ListItem() {
Text("第一条")
.width("100%")
.height(300)
.backgroundColor(Color.Red)
}
ListItem() {
Text("第二条")
.width("100%")
.height(500)
.backgroundColor(Color.Yellow)
}
ListItem() {
Text("第三条")
.width("100%")
.height(200)
.backgroundColor(Color.Green)
}
ListItem() {
Tabs({
barPosition: BarPosition.Start,
}) {
ForEach(tabsList,
(item: string, idx: number) => {
TabContent() {
List() {
ForEach(this.list,
(item: string, idx: number) => {
ListItem() {
Text(item)
.width("100%")
.height(50)
}
})
}
.width("100%")
.scrollBar(BarState.Off)
.enableScrollInteraction(false)
}
.tabBar(this.watchingTabBuilder(idx, item))
})
}
.width("100%")
.barHeight(50)
.barMode(BarMode.Scrollable)
.onChange((index: number) => {
})
}
}
}
@Builder
watchingTabBuilder(index: number, item: string) {
Text(item)
.fontSize(16)
.fontColor("#121212")
.padding({
left: 15,
right: 15,
top: 12,
bottom: 12
})
.borderRadius(5)
}
}
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
HarmonyOS Tabs 控件 底部显示不全
85浏览 • 1回复 待解决
HarmonyOS PullToRefresh嵌套的List显示不全
21浏览 • 1回复 待解决
HarmonyOS web显示不全
578浏览 • 1回复 待解决
HarmonyOS list嵌套tabs,tabs嵌套web,滑动问题
452浏览 • 1回复 待解决
HarmonyOS Slider组件气泡提示显示不全
39浏览 • 1回复 待解决
HarmonyOS Tabs组件嵌套Tabs组件问题
849浏览 • 1回复 待解决
HarmonyOS Tabs组件嵌套滑动
438浏览 • 1回复 待解决
HarmonyOS Tabs嵌套使用问题
39浏览 • 1回复 待解决
HarmonyOS Tabs嵌套Grid问题
107浏览 • 1回复 待解决
Scroll组件内显示不全问题
1221浏览 • 1回复 待解决
HarmonyOS Tabs以及嵌套Tabs生命周期的支持
302浏览 • 1回复 待解决
Tabs组件嵌套滑动组件
1469浏览 • 1回复 待解决
边界显示不全,是因为设置的问题吗?
6250浏览 • 1回复 待解决
HarmonyOS Tabs和Web嵌套左右滑动问题
367浏览 • 1回复 待解决
HarmonyOS 为什么List的高度设置100% 还是显示不全
65浏览 • 1回复 待解决
HarmonyOS Tabs嵌套TabContent内部嵌套一个可拖动的组件导致冲突
16浏览 • 1回复 待解决
HarmonyOS ListItem内使用RelativeContainer,导致下一个ListItem无法显示的问题
350浏览 • 1回复 待解决
HarmonyOS app上下分屏时显示不全 解决方案有哪些?
41浏览 • 1回复 待解决
HarmonyOS scroll嵌套多个web,显示问题
72浏览 • 1回复 待解决
如何处理tabs嵌套web滑动场景
546浏览 • 1回复 待解决
HarmonyOS 日志打印不全
363浏览 • 2回复 待解决
现列表项ListItem滑动显示可置顶或删除
1365浏览 • 1回复 待解决
HarmonyOS tabs位置如何居左显示
24浏览 • 1回复 待解决
HarmonyOS Tabs怎么与text同行显示?
324浏览 • 1回复 待解决
为什么许多应用长按图标显示的快捷菜单(shortcut)图标显示不全?
2602浏览 • 0回复 待解决
步骤一:Tab根据List每个条目的高度和条目个数,计算整体高度,然后设置给Tab的高度,这样可以让内部的所有的List条目均显示出来;
步骤二:Tab里面的List通过nestedScroll方法设置可以嵌套滚动,这样的话,即可用外层的List去滚动
改造后的demo
将这里的listH 赋值给里层list的高度
也可使用pulltorefresh一般用于纯粹的单层List场景,提供思路:
1、顶层使用Refresh组件进行上拉刷新
2、内层使用pulltofresh进行下拉加载
参考代码: