HarmonyOS 定义组件TabList,在一个页面同时使用两个时出现问题

封装了一个自定义组件tablist,在一个页面中有两个地方有用到,发现第二个tab会有问题,感觉会受第一个tab影响,如果把第一个tab注释,第二个tab也能正常,详细效果见截图

HarmonyOS 定义组件TabList,在一个页面同时使用两个时出现问题-鸿蒙开发者社区

HarmonyOS
2024-08-30 09:58:28
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zbw_apple

两个Tab同时使用受影响的原因是TabList.ets中Tab子组件内部id不唯一,通过getInspectorByKey方法传id名获取组件信息,计算margin有误导致。

建议修改id唯一。这边提供一个修改方式,伙伴可参考,也可根据项目需求再做修改

TabList.ets修改点

1.组件可以接受一个@Prop tabName: string;

2.Tab组件修改 id为

.id(tabIndex.toString()+this.tabName)

3.getTextInfo方法中第一行代码改为

let strJson = getInspectorByKey(index.toString()+this.tabName);

TestTab.ets修改点

1.ServiceTab组件添加传参 tabName: 'service'

2.NewsTab 组件添加传参 tabName: 'news'

分享
微博
QQ
微信
回复
2024-08-30 20:15:43
相关问题
HarmonyOS 两个同级的组件问题
131浏览 • 1回复 待解决
关于Image组件两个问题
87浏览 • 1回复 待解决
实现一个定义动画,出现丢帧问题
161浏览 • 1回复 待解决
两个设备控制相关问题
8829浏览 • 3回复 已解决
页面导航如何实现两个页面叠层
1504浏览 • 1回复 待解决
页面导航如何实现A B两个页面叠层
420浏览 • 1回复 待解决
关于数据库的两个问题
2128浏览 • 1回复 待解决
一个页面怎么实现多个AbilitySlice?
13971浏览 • 5回复 待解决
如何让Swiper屏中显示两个Item?
428浏览 • 1回复 待解决
HarmonyOS 编译curl出现问题
71浏览 • 1回复 待解决