【HarmonyOS】【JS】Tabs如何设置区分TabBar和TabContent的分割线不显示

发布时间 2023-04-28 10:55:31作者: 华为开发者论坛

【关键字】

Tabs,分割线

 

【问题描述】

使用JS开发HarmonyOS应用时,使用Tabs组件,默认自带TabBar和TabContent的蓝色分割线,由于蓝色分割线样式不可设置,若不想要此蓝色分割线,如何去除蓝色分割线?

 

【问题分析】

1、若JS使用Tabs,蓝色分割线为组件自带样式,暂不支持属性支持显示与隐藏,通过css或者其他方式都无法去除;

2、不能去除蓝色分割线,可以考虑让其不显示;分割线内部实现是放置在tab-bar元素内,可通过给tab-bar元素设置高度 & tab-bar中每个页签也设置同样高度,让页签元素的高度刚好为tab-bar元素高度,蓝色分割线不显示。

 

【问题解决方案】

以此文档中示例代码为例:

https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ui-js-component-tabs-0000001333800649#ZH-CN_TOPIC_0000001333800649__%E5%9C%BA%E6%99%AF%E7%A4%BA%E4%BE%8B

将.tab_bar和.tab_item设置相同高度,tab-bar html代码如下图所示:

<tab-bar class="tab_bar mytabs">
    <div class="tab_item" for="datas.list">
        <text style="color: {{$item.color}};">{{$item.title}}</text>
    </div>
</tab-bar>

css如下图所示:

.tab_bar {
    width: 100%;
    height: 60px;
}
.tab_item {
    width: 30%;
    height: 60px;
    flex-direction: column;
    align-items: center;
}

效果如下图所示,蓝色分割线不显示:

 

【补充说明】

 

【Tabs相关文档】