Skip to content

Tabs 标签页

分隔内容上有关联但属于不同类别的数据集合。

基础用法

通过 v-model 绑定当前激活的标签页,label 设置标签标题。

用户管理的内容
<script setup>
import { ref } from 'vue'
import Tabs from '@/vue/components/Tabs/Tabs.vue'
import TabPane from '@/vue/components/Tabs/TabPane.vue'
const activeName = ref('first')
</script>
<template>
  <Tabs v-model="activeName">
    <TabPane name="first" label="用户管理">用户管理的内容</TabPane>
    <TabPane name="second" label="配置管理">配置管理的内容</TabPane>
    <TabPane name="third" label="角色管理">角色管理的内容</TabPane>
  </Tabs>
</template>

卡片风格

设置 typecard 可以使标签页以卡片风格展示。

用户管理的内容
<script setup>
import { ref } from 'vue'
import Tabs from '@/vue/components/Tabs/Tabs.vue'
import TabPane from '@/vue/components/Tabs/TabPane.vue'
const activeName = ref('first')
</script>
<template>
  <Tabs v-model="activeName" type="card">
    <TabPane name="first" label="用户管理">用户管理的内容</TabPane>
    <TabPane name="second" label="配置管理">配置管理的内容</TabPane>
    <TabPane name="third" label="角色管理">角色管理的内容</TabPane>
  </Tabs>
</template>

禁用某一项

TabPane 上设置 disabled 可禁用该标签页。

用户管理的内容
<script setup>
import { ref } from 'vue'
import Tabs from '@/vue/components/Tabs/Tabs.vue'
import TabPane from '@/vue/components/Tabs/TabPane.vue'
const activeName = ref('first')
</script>
<template>
  <Tabs v-model="activeName">
    <TabPane name="first" label="用户管理">用户管理的内容</TabPane>
    <TabPane name="second" label="配置管理" disabled>配置管理的内容(禁用)</TabPane>
    <TabPane name="third" label="角色管理">角色管理的内容</TabPane>
  </Tabs>
</template>

React 用法

tsx
import { useState } from 'react'
import { Tabs, TabPane } from '@bobocn/element/react'
import '@bobocn/element/style.css'

// 基础用法
function App() {
  const [active, setActive] = useState('first')

  return (
    <Tabs modelValue={active} onChange={setActive}>
      <TabPane name="first" label="用户管理">用户管理的内容</TabPane>
      <TabPane name="second" label="配置管理">配置管理的内容</TabPane>
      <TabPane name="third" label="角色管理">角色管理的内容</TabPane>
    </Tabs>
  )
}

// 卡片风格
<Tabs modelValue={active} type="card" onChange={setActive}>
  <TabPane name="first" label="用户管理">内容一</TabPane>
  <TabPane name="second" label="配置管理">内容二</TabPane>
</Tabs>

// 禁用标签
<TabPane name="disabled" label="已禁用" disabled>不可点击</TabPane>

API

Tabs 属性 (Attributes)

属性名说明类型默认值
modelValue / v-model当前激活的标签页 namestring | number
type标签页风格'line' | 'card''line'

Tabs 事件 (Events)

事件名说明回调参数
change切换标签页时触发(name: string | number) => void

Tabs 插槽 (Slots)

插槽名说明
defaultTabPane 组件

TabPane 属性 (Attributes)

属性名说明类型默认值
name标签页唯一标识string | number
label标签页标题string
disabled是否禁用booleanfalse

TabPane 插槽 (Slots)

插槽名说明
default标签页内容

基于 MIT 许可发布