Skip to content

Sidebar 侧边导航

垂直展示的导航栏,用于在不同内容区域之间进行切换。

组件类型

基础用法

通过 v-model 绑定当前选中项的值。

html
<wd-sidebar v-model="active">
  <wd-sidebar-item :value="0" label="标签名称" />
  <wd-sidebar-item :value="1" label="标签名称" />
  <wd-sidebar-item :value="2" label="标签名称" />
</wd-sidebar>
ts
const active = ref(0)

组件状态

徽标提示

设置 is-dot 可展示红点徽标;设置 badgebadge-props 可展示数字徽标。

html
<wd-sidebar v-model="active">
  <wd-sidebar-item :value="0" label="标签名称" is-dot />
  <wd-sidebar-item :value="1" label="标签名称" badge="5" />
  <wd-sidebar-item :value="2" label="标签名称" :badge-props="{ type: 'warning', value: 55, max: 99 }" />
</wd-sidebar>

禁用与异步切换

设置 disabled 可禁用当前选项;设置 before-change 可在切换前执行同步或异步逻辑。

html
<wd-sidebar v-model="active" :before-change="beforeChange">
  <wd-sidebar-item :value="0" label="标签名称" />
  <wd-sidebar-item :value="1" label="标签名称" disabled />
  <wd-sidebar-item :value="2" label="标签名称" />
</wd-sidebar>
ts
import type { SidebarBeforeChange } from '@/uni_modules/wot-ui/components/wd-sidebar/types'

const beforeChange: SidebarBeforeChange = (value) => {
  return new Promise((resolve) => {
    setTimeout(() => resolve(true), 2000)
  })
}

特殊样式

锚点用法示例

sidebar 可以与 scroll-view 结合,实现长内容页的锚点切换。仓库中的示例可参考 src/subPages/sidebar/demo1.vue

切换页面用法示例

sidebar 也可以作为左侧目录,右侧内容区按当前选中项整屏切换。仓库中的示例可参考 src/subPages/sidebar/demo2.vue

自定义图标示例

设置 wd-sidebar-itemicon 属性,可在导航项中显示不同图标。仓库中的示例可参考 src/subPages/sidebar/demo3.vue

参数说明类型默认值
model-value / v-model当前激活项的值string | number0
before-change v1.4.0切换前钩子,接收目标值,返回 booleanPromise<boolean>function-
custom-class根节点自定义类名string''
custom-style根节点自定义样式string''
事件名称说明参数
change激活项切换时触发{ value, label }
name说明
defaultSidebarItem 列表
类名说明
custom-class根节点样式

SidebarItem Attributes

参数说明类型默认值
label当前选项标题string-
value当前选项值,唯一标识string | number-
badge徽标显示值string | number-
badge-props ^(0.1.50)自定义徽标属性,会透传给 Badge 组件Partial<BadgeProps>-
icon图标名称string-
is-dot是否显示点状徽标booleanfalse
max徽标最大值number99
disabled是否禁用当前选项booleanfalse
custom-class根节点自定义类名string''
custom-style根节点自定义样式string''

SidebarItem Slots

name说明
icon自定义图标内容

主题定制

CSS 变量

组件提供了下列 CSS 变量,可用于自定义样式,使用方法请参考 ConfigProvider 全局配置

名称默认值描述
--wot-sidebar-width114px侧边栏宽度
--wot-sidebar-height100%侧边栏高度
--wot-sidebar-bg$filled-oppo侧边栏背景色
--wot-sidebar-padding-bg$filled-oppo内容区背景色
--wot-sidebar-item-font-size$typography-body-size-main选项字号
--wot-sidebar-item-line-height$typography-body-line--height-size-main选项行高
--wot-sidebar-item-color$text-main选项文字颜色
--wot-sidebar-item-padding$padding-extra-tight $padding-extra-loose选项内边距
--wot-sidebar-item-bg$filled-bottom选项背景色
--wot-sidebar-item-min-height$n-52选项最小高度
--wot-sidebar-item-bg-hover$feedback-active选项点击态背景色
--wot-sidebar-item-bg-active$filled-oppo激活项背景色
--wot-sidebar-item-color-active$primary-6激活项文字颜色
--wot-sidebar-item-font-weight-active$font-weight-semibold激活项字重
--wot-sidebar-item-indicator-width$n-2激活指示条宽度
--wot-sidebar-item-indicator-height$n-20激活指示条高度
--wot-sidebar-item-border-radius$radius-large圆角大小
--wot-sidebar-item-color-disabled$text-disabled禁用状态文字颜色
--wot-sidebar-item-icon-size$n-20图标大小
--wot-sidebar-item-icon-margin-right$padding-ultra-tight图标右边距

源代码

文档
组件

Released under the MIT License.

Released under the MIT License.