Skip to content

CategoryNav 品类导航

电商分类页常用的导航模式。支持双向同步联动(左侧点击 -> 右侧滚动;右侧滚动 -> 左侧居中高亮),内置骨架屏与极速性能优化。

基础用法 (大数据量演示)

该示例展示了在 10 类大型分类数据 下的联动表现。由于侧边栏内置了自动居中逻辑,即便分类项极多,激活项也能始终保持在中心位置。

热门推荐
手机通讯
电脑办公
家用电器
数码配件
家居家装
运动户外
图书文具
食品生鲜
母婴童装
大数据量双向联动

加载状态

开启 `loading` 后展示高品质骨架屏。该示例演示了如何通过外部状态控制加载过程。

热门推荐
手机通讯
电脑办公
异步加载演示

自定义主题

通过 theme-overrides 属性可以快速覆盖内部 CSS 变量,无需编写复杂的全局样式。

热门推荐
手机通讯
品牌定制主题

在 Nuxt 中使用

该组件完美支持 Nuxt 3/4 的 SSR(服务端渲染)。配置方式极其精简:

ts
// nuxt.config.ts
export default defineNuxtConfig({
  modules: ['@yh-ui/nuxt'],
  yhUI: {
    components: ['YhCategoryNav']
  }
})

API

Props (属性)

属性名说明类型默认值
categories核心数据源,包含 ID 和子类列表CategoryItem[][]
model-value / v-model当前激活的一级分类 IDstring | number | nullnull
sub-value / v-model:subValue当前激活的二级子分类 IDstring | number | nullnull
side-width左侧边栏固定宽度string84px
show-all是否在顶部展示「全部」项booleantrue
loading是否处于精美骨架屏加载状态booleanfalse
columns右侧平铺子类的列数number3
sub-image-size子类缩略图尺寸 (px)number64
anchor是否开启双向滚动监听锚定booleantrue
theme-overrides自定义主题 CSS 变量对象Record<string, string>{}

Events (事件)

事件名说明回调参数
category-click点击一级分类项时触发(item: CategoryItem)
sub-category-click点击二级子项时触发(item: CategorySubItem, parent: CategoryItem)
update:modelValue主分类 ID 变更时同步更新(id: string | number | null)
update:subValue子分类 ID 变更时同步更新(id: string | number | null)

Slots (插槽)

插槽名说明参数
all-icon自定义「全部」按钮的图标-
header内容区顶部业务插槽-
footer内容区底部业务插槽-
section-header每个大类分区的标题自定义渲染{ category: CategoryItem }
section-footer每个大类分区的辅助自定义渲染{ category: CategoryItem }
sub-item二级子类的完全自定义逻辑渲染{ sub: CategorySubItem, parent: CategoryItem }

Expose

当前组件未暴露公开实例方法或属性。

主题变量

变量名说明默认值
--yh-category-nav-side-bg左侧边栏背景色#f7f8fa
--yh-category-nav-content-bg右侧内容区背景色#ffffff
--yh-category-nav-side-active-color激活项文字及指示条颜色var(--yh-color-primary)
--yh-category-nav-side-active-bg激活项背景色#ffffff
--yh-category-nav-side-width侧边栏宽度84px
--yh-category-nav-sub-image-size二级分类图尺寸64px
--yh-category-nav-columns二级分类平铺列数3
--yh-category-nav-section-title-color区块标题颜色var(--yh-text-color-secondary)

类型导出

名称说明
YhCategoryNavPropsYhCategoryNav props 类型
YhCategoryNavEmitsYhCategoryNav emits 类型
YhCategoryNavSlotsYhCategoryNav slots 类型
YhCategoryItem一级分类项类型
YhCategorySubItem二级分类项类型
YhCategoryNavInstanceYhCategoryNav 实例类型

Released under the MIT License.