主题
LimeSidebar 侧边导航
- 垂直展示的导航栏,用于在不同的内容区域之间进行切换。兼容uniapp/uniappx
- 插件依赖
lime-shared
,lime-style
,lime-badge
不喜勿下
安装
代码演示
基础用法
通过 v-model
绑定当前选中项的索引。
html
<l-sidebar v-model="active">
<l-sidebar-item title="标签名称" />
<l-sidebar-item title="标签名称" />
<l-sidebar-item title="标签名称" />
</l-sidebar>
1
2
3
4
5
2
3
4
5
js
const active = ref(0);
1
徽标提示
设置 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>
1
2
3
4
5
2
3
4
5
禁用选项
通过 disabled
属性禁用选项。
html
<l-sidebar v-model="active">
<l-sidebar-item title="标签名称" />
<l-sidebar-item title="标签名称" disabled />
<l-sidebar-item title="标签名称" />
</l-sidebar>
1
2
3
4
5
2
3
4
5
监听切换事件
设置 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>
1
2
3
4
5
2
3
4
5
js
export default {
setup() {
const active = ref(0);
const onChange = (index) => {
uni.showToast({
title: `标签${index+1}`
})
}
return {
active,
onChange,
};
},
};
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
插件标签
- 默认 l-sidebar 为 component
- 默认 l-sidebar-item 为 component
- 默认 lime-sidebar 为 demo
关于vue2的使用方式
- 插件使用了
composition-api
, 如果你希望在vue2中使用请按官方的教程vue-composition-api配置 - 关键代码是: 在main.js中 在vue2部分加上这一段即可.
js
// main.js vue2
import Vue from 'vue'
import VueCompositionAPI from '@vue/composition-api'
Vue.use(VueCompositionAPI)
1
2
3
4
2
3
4
API
Sidebar Props
参数 | 说明 | 类型 | 默认值 |
---|---|---|---|
v-model | 当前导航项的索引 | number | string | 0 |
width | 宽度 | string | 103px |
fontSize | 字体大小 | string | 14px |
lineHeight | 行高 | string | 22px |
textColor | 文本颜色 | string | — |
disabledTextColor | 禁用文本颜色 | string | — |
bgColor | 背景色 | string | — |
selectedFontWeight | 选中文本粗细 | string | — |
selectedTextColor | 选中文本颜色 | string | — |
selectedBorderWidth | 选中项左侧border宽度 | string | — |
selectedBorderHeight | 选中项左侧border高度 | string | — |
selectedBorderColor | 选中项左侧border颜色 | string | — |
selectedBgColor | 选中项背景颜色 | string | — |
Sidebar Events
事件名 | 说明 | 回调参数 |
---|---|---|
change | 切换导航项时触发 | index: number |
SidebarItem Props
参数 | 说明 | 类型 | 默认值 |
---|---|---|---|
title | 内容 | string | '' |
dot | 是否显示右上角小红点 | boolean | false |
badge | 图标右上角徽标的内容 | number | string | - |
disabled | 是否禁用该项 | boolean | false |
SidebarItem Events
事件名 | 说明 | 回调参数 |
---|---|---|
click | 点击时触发 | index: number |
SidebarItem Slots
Name | Description |
---|---|
title | 自定义标题 |
主题定制
样式变量
组件提供了下列 CSS 变量,可用于自定义样式。非 uvue app可用
名称 | 默认值 | 描述 |
---|---|---|
--l-sidebar-width | 103px | - |
--l-sidebar-font-size | 14px | - |
--l-sidebar-line-height | 1.57 | - |
--l-sidebar-text-color | rgba(0,0,0,0.88) | - |
--l-sidebar-disabled-text-color | rgba(0,0,0,0.25) | - |
--l-sidebar-padding | 20px 12px | - |
--l-sidebar-active-color | rgba(0,0,0,0.88) | - |
--l-sidebar-background | rgba(0, 0, 0, 0.04) | - |
--l-sidebar-selected-font-weight | var(--l-font-bold) | - |
--l-sidebar-selected-text-color | rgba(0,0,0,0.88) | - |
--l-sidebar-selected-border-width | 4px | - |
--l-sidebar-selected-border-height | 16px | - |
--l-sidebar-selected-border-color | #1677ff | - |
--l-sidebar-selected-background | white | - |
--l-sidebar-selected--border-radius | 10px | - |