Tab-Group

tab选项切换组,支持作为路由tab进行切换

基础展示

Preview
Code
我是文档

组件变体

Preview
Code

尺寸设置

Preview
Code

规范插槽

Preview
Code
MY IS DOCS

值插槽

Preview
Code
我是文档的 label

Props

sizeenum
middle
组件尺寸: small , middle , large
variantenum
primary
组件变体: primary , success , info , warning , danger
disabledboolean
false
是否禁用组件
loadingboolean
false
是否启用组件加载状态
classstring
透传的组件样式类
defaultValuestring
默认值
items required ITabGroupLabelItem[]
选项
boxClassstring
透传盒子的样式类
labelClassstring
透传标签的样式类
routerboolean
false
是否开启路由模式(要开启路由模式,必须安装 Vue Router

ITabGroupLabelItem

label required any
Tab 标题
value required string
值,用于双向绑定
contentany
下方内容

样式

Code
/**
 * ObTabGroup - 样式
 */
export default obCva<ITabGroupProps>('relative flex gap-2 rounded-large bg-lightGray p-1.5 font-bold before:absolute before:invisible before:left-0 before:rounded-xl before:content-empty before:transition-all', {
  variants: {
    size: {
      small: 'text-xs',
      middle: 'text-sm',
      large: 'text-lg',
    },
    variant: {
      primary: 'before:bg-primary',
      success: 'before:bg-success',
      info: 'bg-transparent before:bg-mediumGray',
      warning: 'before:bg-warning',
      danger: 'before:bg-danger',
    },
  },
})

/**
 * ObTabGroup - Label 样式
 */
export const labelStyle = obCva<ITabGroupProps>('z-1 min-w-15 text-center rounded-normal bg-transparent p-x-5 py-2 c-black transition-all', {
  variants: {
    variant: {
      primary: 'data-[active=true]:bg-primary data-[active=true]:c-white',
      success: 'data-[active=true]:bg-success data-[active=true]:c-white',
      info: 'data-[active=true]:bg-mediumGray data-[active=true]:c-black',
      warning: 'data-[active=true]:bg-warning data-[active=true]:c-white',
      danger: 'data-[active=true]:bg-danger data-[active=true]:c-white',
    },
  },
})