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 控件 底部显示不全 
1021浏览  • 1回复 待解决
HarmonyOS PullToRefresh嵌套的List显示不全 
913浏览  • 1回复 待解决
HarmonyOS  list嵌套tabs,tabs嵌套web,滑动问题 
1306浏览  • 1回复 待解决
HarmonyOS  web显示不全 
1529浏览  • 1回复 待解决
HarmonyOS Tabs组件嵌套Tabs组件问题 
2146浏览  • 1回复 待解决
HarmonyOS Tabs嵌套使用问题 
888浏览  • 1回复 待解决
HarmonyOS Tabs组件嵌套滑动 
1474浏览  • 1回复 待解决
HarmonyOS Tabs嵌套Grid问题 
1013浏览  • 1回复 待解决
HarmonyOS Tabs以及嵌套Tabs生命周期的支持 
1170浏览  • 1回复 待解决
HarmonyOS Slider组件气泡提示显示不全 
1194浏览  • 1回复 待解决
Tabs组件嵌套滑动组件 
2769浏览  • 1回复 待解决
Scroll组件内显示不全问题 
2551浏览  • 1回复 待解决
HarmonyOS Tabs和Web嵌套左右滑动问题 
1181浏览  • 1回复 待解决
边界显示不全,是因为设置的问题吗? 
7081浏览  • 1回复 待解决
HarmonyOS Tabs嵌套TabContent内部嵌套一个可拖动的组件导致冲突 
1061浏览  • 1回复 待解决
HarmonyOS Tabs嵌套 后 使用 nestedScroll 无法实现吸顶 
745浏览  • 1回复 待解决
如何处理tabs嵌套web滑动场景 
1472浏览  • 1回复 待解决
HarmonyOS ListItem内使用RelativeContainer,导致下一个ListItem无法显示的问题 
1434浏览  • 1回复 待解决
HarmonyOS Tabs组件嵌套Web组件,导致横向滑动冲突 
1008浏览  • 1回复 待解决
HarmonyOS  scroll嵌套多个web,显示问题 
1127浏览  • 1回复 待解决
List组件列表最后一行显示不全 
32浏览  • 0回复 待解决
HarmonyOS Tabs怎么与text同行显示? 
1415浏览  • 1回复 待解决
HarmonyOS tabs位置如何居左显示 
827浏览  • 1回复 待解决
HarmonyOS 为什么List的高度设置100% 还是显示不全 
1510浏览  • 1回复 待解决
HarmonyOS app上下分屏时显示不全 解决方案有哪些? 
1200浏览  • 1回复 待解决





















步骤一:Tab根据List每个条目的高度和条目个数,计算整体高度,然后设置给Tab的高度,这样可以让内部的所有的List条目均显示出来;
步骤二:Tab里面的List通过nestedScroll方法设置可以嵌套滚动,这样的话,即可用外层的List去滚动
改造后的demo
将这里的listH 赋值给里层list的高度
也可使用pulltorefresh一般用于纯粹的单层List场景,提供思路:
1、顶层使用Refresh组件进行上拉刷新
2、内层使用pulltofresh进行下拉加载
参考代码: