Skip to content

标签列表

使用方法 ​

TabList 把一组 Tab 组织成标签页,让用户在同一区域内切换相关内容,常用于设置页、详情页的分区浏览。从独立入口导入组件后,通过 v-model:value 控制当前选中项:

vue
<script setup lang="ts">
import { Tab, TabList } from '@astryx-vue/core/TabList'
import { ref } from 'vue'

const value = ref('overview')
</script>

<template>
  <TabList v-model:value="value">
    <Tab value="overview">
      总览
    </Tab>
    <Tab value="props">
      属性
    </Tab>
    <Tab value="examples">
      示例
    </Tab>
  </TabList>
</template>

最佳实践 ​

指引实践
推荐组件自带 role="tablist"、role="tab" 与 aria-selected 语义,配合方向键导航,无需额外补齐无障碍属性。
推荐为每个 Tab 提供唯一的 value:它是选中状态的标识,也是键盘导航定位标签的依据。
推荐需要暂时不可用的标签时设置 disabled,键盘导航会自动跳过,用户也不会误点。
避免避免在单个 TabList 中放入过多标签:标签过多会增加查找成本,超出容器时应考虑滚动或重新组织内容。
避免避免用 TabList 承担页面级导航:标签页适合切换同页内容,跨页面跳转应使用链接或面包屑。

示例 ​

基础用法

最基础的用法:点击标签即切换选中项,v-model:value 会同步更新。

尺寸

标签提供 sm、md、lg 三种尺寸,根据所在页面的层次和信息密度选择即可。

带分隔线

开启 has-divider 后,标签列表底部会显示一条分隔线,让标签区与下方内容的分层更清晰。