Skip to content

LimeSidebar 侧边导航组件

一个功能丰富的侧边导航组件,用于在不同的内容区域之间进行切换。支持徽标提示、禁用选项、自定义样式等多种配置,可用于分类列表、导航菜单、内容切换等多种场景。组件提供了丰富的自定义选项,可以满足各种复杂的导航设计需求。

插件依赖:lime-sharedlime-stylelime-badge

文档链接

📚 组件详细文档请访问以下站点:

安装方法

  1. 在uni-app插件市场入口 中搜索并导入lime-sidebar
  2. 导入后可能需要重新编译项目
  3. 在页面中使用l-sidebarl-sidebar-item组件

代码演示

基础用法

最简单的侧边导航组件用法,通过 v-model 绑定当前选中项的索引。

html
<l-sidebar v-model="active">
  <l-sidebar-item title="标签名称" />
  <l-sidebar-item title="标签名称" />
  <l-sidebar-item title="标签名称" />
</l-sidebar>
js
// setup 语法
const active = ref(0);

徽标提示

设置 dot 属性后,会在右上角展示一个小红点;设置 badge 属性后,会在右上角展示相应的徽标。

html
<l-sidebar v-model="active">
  <l-sidebar-item title="标签名称" dot />
  <l-sidebar-item title="标签名称" badge="5" />
  <l-sidebar-item title="标签名称" />
</l-sidebar>

禁用选项

通过 disabled 属性禁用选项。

html
<l-sidebar v-model="active">
  <l-sidebar-item title="标签名称" />
  <l-sidebar-item title="标签名称" disabled />
  <l-sidebar-item title="标签名称" />
</l-sidebar>

监听切换事件

设置 change 方法来监听切换导航项时的事件。

html
<l-sidebar v-model="active" @change="onChange">
  <l-sidebar-item title="标签名 1" />
  <l-sidebar-item title="标签名 2" />
  <l-sidebar-item title="标签名 3" />
</l-sidebar>
js
// setup 语法
const active = ref(0);
const onChange = (index: number) => {
  uni.showToast({
    title: `标签${index+1}`
  });
};

圆角样式

通过 round 属性设置圆角样式。

html
<l-sidebar v-model="active" round>
  <l-sidebar-item title="标签名称" />
  <l-sidebar-item title="标签名称" />
  <l-sidebar-item title="标签名称" />
</l-sidebar>

线条样式

通过 line 属性设置线条样式。

html
<l-sidebar v-model="active" line>
  <l-sidebar-item title="标签名称" />
  <l-sidebar-item title="标签名称" />
  <l-sidebar-item title="标签名称" />
</l-sidebar>

快速预览

导入插件后,可以直接使用以下标签查看演示效果:

html
<!-- 代码位于 uni_modules/lime-sidebar/components/lime-sidebar -->
<lime-sidebar />

插件标签说明

标签名说明
l-sidebar侧边导航容器组件标签
l-sidebar-item侧边导航项组件标签
lime-sidebar演示标签

Vue2使用说明

main.js中添加以下代码:

js
// vue2项目中使用
import Vue from 'vue'
import VueCompositionAPI from '@vue/composition-api'
Vue.use(VueCompositionAPI)

详细配置请参考官方文档:Vue Composition API

API文档

属性名说明类型默认值
v-model当前导航项的索引number | string0
width侧边导航宽度string-
fontSize字体大小string-
lineHeight行高string-
textColor文本颜色string-
disabledTextColor禁用文本颜色string-
bgColor背景色string-
selectedFontWeight选中文本粗细string-
selectedTextColor选中文本颜色string-
selectedBorderWidth选中项左侧边框宽度string-
selectedBorderHeight选中项左侧边框高度string-
selectedBorderColor选中项左侧边框颜色string-
selectedBgColor选中项背景颜色string-
round是否使用圆角样式booleanfalse
line是否使用线条样式booleanfalse
事件名说明回调参数
change切换导航项时触发index: number

SidebarItem Props 属性说明

属性名说明类型默认值
title标题内容string-
dot是否显示右上角小红点booleanfalse
badge图标右上角徽标的内容number | string-
disabled是否禁用该项booleanfalse
badgeProps徽标属性配置object-

SidebarItem Events 事件

事件名说明回调参数
click点击时触发index: number

SidebarItem Slots 插槽

名称说明
title自定义标题内容

主题定制

组件提供了以下CSS变量,可用于自定义样式:

变量名称默认值描述
--l-sidebar-width104px侧边导航宽度
--l-sidebar-height100%侧边导航高度
--l-sidebar-bg-color$gray-1侧边导航背景色
--l-sidebar-selected-border-radius10px选中项边框圆角
--l-sidebar-selected-bg-color$bg-color-container选中项背景色
--l-sidebar-font-size$font-size字体大小
--l-sidebar-line-height$line-height行高
--l-sidebar-text-color$text-color-1文本颜色
--l-sidebar-disabled-text-color$text-color-4禁用文本颜色
--l-sidebar-selected-text-color$primary-color选中文本颜色
--l-sidebar-selected-border-color$primary-color选中项边框颜色
--l-sidebar-padding-x$spacer-sm水平内边距
--l-sidebar-padding-y$spacer垂直内边距
--l-sidebar-selected-border-width4px选中项边框宽度
--l-sidebar-selected-border-height16px选中项边框高度
--l-sidebar-selected-font-weightbold选中项文本粗细

支持与赞赏

如果你觉得本插件解决了你的问题,可以考虑支持作者:

支付宝赞助微信赞助

源代码

组件源码