Install
import Vue from 'vue';
import { Sidebar, SidebarItem } from 'vant';
Vue.use(Sidebar);
Vue.use(SidebarItem);
Usage
Basic Usage
<van-sidebar v-model="activeKey">
<van-sidebar-item title="Title" />
<van-sidebar-item title="Title" />
<van-sidebar-item title="Title" />
</van-sidebar>
export default {
data() {
return {
activeKey: 0,
};
},
};
Show Badge
<van-sidebar v-model="activeKey">
<van-sidebar-item title="Title" dot />
<van-sidebar-item title="Title" badge="5" />
<van-sidebar-item title="Title" badge="99+" />
</van-sidebar>
Disabled
<van-sidebar v-model="activeKey">
<van-sidebar-item title="Title" />
<van-sidebar-item title="Title" disabled />
<van-sidebar-item title="Title" />
</van-sidebar>
Change Event
<van-sidebar v-model="activeKey" @change="onChange">
<van-sidebar-item title="Title1" />
<van-sidebar-item title="Title2" />
<van-sidebar-item title="Title3" />
</van-sidebar>
import { Notify } from 'vant';
export default {
data() {
return {
activeKey: 0,
};
},
methods: {
onChange(index) {
Notify({ type: 'primary', message: index });
},
},
};
API
| Attribute |
Description |
Type |
Default |
| v-model |
Index of chosen item |
number | string |
0 |
| Event |
Description |
Arguments |
| change |
Emitted when chosen item changed |
index: index of current item |
| Attribute |
Description |
Type |
Default |
| title |
Content |
string |
'' |
| dot |
Whether to show red dot |
boolean |
false |
badge v2.5.6 |
Content of the badge |
number | string |
'' |
| disabled |
Whether to be disabled |
boolean |
false |
| url |
Link |
string |
- |
| to |
Target route of the link, same as to of vue-router |
string | object |
- |
| replace |
If true, the navigation will not leave a history record |
boolean |
false |
| Event |
Description |
Arguments |
| click |
Emitted when an item is clicked |
index: index of current item |
| Name |
Description |
title v2.10.8 |
Custom item title |
Less Variables
How to use: Custom Theme.
| Name |
Default Value |
Description |
| @sidebar-width |
80px |
- |
| @sidebar-font-size |
@font-size-md |
- |
| @sidebar-line-height |
@line-height-md |
- |
| @sidebar-text-color |
@text-color |
- |
| @sidebar-disabled-text-color |
@gray-5 |
- |
| @sidebar-padding |
20px @padding-sm |
- |
| @sidebar-active-color |
@active-color |
- |
| @sidebar-background-color |
@background-color |
- |
| @sidebar-selected-font-weight |
@font-weight-bold |
- |
| @sidebar-selected-text-color |
@text-color |
- |
| @sidebar-selected-border-width |
4px |
- |
| @sidebar-selected-border-height |
16px |
- |
| @sidebar-selected-border-color |
@red |
- |
| @sidebar-selected-background-color |
@white |
- |