HarmonyOS 鸿蒙Next:动态添加TabContent,样式各异且数量不定

发布于 1周前 作者 sinazl 来自 鸿蒙OS

HarmonyOS 鸿蒙Next:动态添加TabContent,样式各异且数量不定

//组件数组
componentList: WrappedBuilder<[]>[] = [wrapBuilder(MyBuilder)];
build() {
Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.tabController }) {
ForEach(this.componentList, (item: WrappedBuilder<[]>,index: number) => {
TabContent() {
item
}.tabBar(this.tabBuilder(index))
}, (item: WrappedBuilder<[]>) => JSON.stringify(item))
}
.vertical(false)
.barMode(BarMode.Fixed)
.barWidth(this.tabBarWidth)
.barHeight(this.tabBarHeight)
.animationDuration(this.durationTime)
.onChange((index: number) => {
this.currentIndex = index;
})
}

需要传递什么样的数组给自定义组件才能实现这种功能啊?我是这么做的,根本不行,没法传递组件数组

4 回复
本人已经实现了TabContent的配置,博客地址:https://juejin.cn/post/7398352956712173606
ifelse判断item的类型来加吧

那样太low了,鸿蒙也不提倡

在HarmonyOS中动态添加TabContent并处理样式各异及数量不定的情况,你可以通过TabLayout和TabContent组件结合数据绑定和条件渲染来实现。首先,确保你的数据模型(如列表)能够动态变化,并在界面更新时反映这些变化。使用XML或Java/Kotlin代码动态创建Tab页,并通过循环遍历数据集合来设置Tab的数量和内容。每个Tab的样式可以通过设置不同的布局和样式属性来实现。如果问题依旧没法解决请加我微信,我的微信是itying888。

回到顶部