import{o as a,a as t,y as n}from"./vue-libs.b44bc779.js";const d={class:"van-doc-markdown-body"},e=n(`
\u5782\u76F4\u5C55\u793A\u7684\u5BFC\u822A\u680F\uFF0C\u7528\u4E8E\u5728\u4E0D\u540C\u7684\u5185\u5BB9\u533A\u57DF\u4E4B\u95F4\u8FDB\u884C\u5207\u6362\u3002
\u901A\u8FC7\u4EE5\u4E0B\u65B9\u5F0F\u6765\u5168\u5C40\u6CE8\u518C\u7EC4\u4EF6\uFF0C\u66F4\u591A\u6CE8\u518C\u65B9\u5F0F\u8BF7\u53C2\u8003\u7EC4\u4EF6\u6CE8\u518C\u3002
import { createApp } from 'vue';
import { Sidebar, SidebarItem } from 'vant';
const app = createApp();
app.use(Sidebar);
app.use(SidebarItem);
\u901A\u8FC7 v-model
\u7ED1\u5B9A\u5F53\u524D\u9009\u4E2D\u9879\u7684\u7D22\u5F15\u3002
<van-sidebar v-model="active">
<van-sidebar-item title="\u6807\u7B7E\u540D\u79F0" />
<van-sidebar-item title="\u6807\u7B7E\u540D\u79F0" />
<van-sidebar-item title="\u6807\u7B7E\u540D\u79F0" />
</van-sidebar>
import { ref } from 'vue';
export default {
setup() {
const active = ref(0);
return { active };
},
};
\u8BBE\u7F6E dot
\u5C5E\u6027\u540E\uFF0C\u4F1A\u5728\u53F3\u4E0A\u89D2\u5C55\u793A\u4E00\u4E2A\u5C0F\u7EA2\u70B9\uFF1B\u8BBE\u7F6E badge
\u5C5E\u6027\u540E\uFF0C\u4F1A\u5728\u53F3\u4E0A\u89D2\u5C55\u793A\u76F8\u5E94\u7684\u5FBD\u6807\u3002
<van-sidebar v-model="active">
<van-sidebar-item title="\u6807\u7B7E\u540D\u79F0" dot />
<van-sidebar-item title="\u6807\u7B7E\u540D\u79F0" badge="5" />
<van-sidebar-item title="\u6807\u7B7E\u540D\u79F0" badge="20" />
</van-sidebar>
\u901A\u8FC7 disabled
\u5C5E\u6027\u7981\u7528\u9009\u9879\u3002
<van-sidebar v-model="active">
<van-sidebar-item title="\u6807\u7B7E\u540D\u79F0" />
<van-sidebar-item title="\u6807\u7B7E\u540D\u79F0" disabled />
<van-sidebar-item title="\u6807\u7B7E\u540D\u79F0" />
</van-sidebar>
\u8BBE\u7F6E change
\u65B9\u6CD5\u6765\u76D1\u542C\u5207\u6362\u5BFC\u822A\u9879\u65F6\u7684\u4E8B\u4EF6\u3002
<van-sidebar v-model="active" @change="onChange">
<van-sidebar-item title="\u6807\u7B7E\u540D 1" />
<van-sidebar-item title="\u6807\u7B7E\u540D 2" />
<van-sidebar-item title="\u6807\u7B7E\u540D 3" />
</van-sidebar>
import { ref } from 'vue';
import { Toast } from 'vant';
export default {
setup() {
const active = ref(0);
const onChange = (index) => Toast(\`\u6807\u7B7E\u540D \${index + 1}\`);
return {
active,
onChange,
};
},
};
\u53C2\u6570 | \u8BF4\u660E | \u7C7B\u578B | \u9ED8\u8BA4\u503C |
---|---|---|---|
v-model | \u5F53\u524D\u5BFC\u822A\u9879\u7684\u7D22\u5F15 | number | string | 0 |
\u4E8B\u4EF6\u540D | \u8BF4\u660E | \u56DE\u8C03\u53C2\u6570 |
---|---|---|
change | \u5207\u6362\u5BFC\u822A\u9879\u65F6\u89E6\u53D1 | index: number |
\u53C2\u6570 | \u8BF4\u660E | \u7C7B\u578B | \u9ED8\u8BA4\u503C |
---|---|---|---|
title | \u5185\u5BB9 | string | '' |
dot | \u662F\u5426\u663E\u793A\u53F3\u4E0A\u89D2\u5C0F\u7EA2\u70B9 | boolean | false |
badge | \u56FE\u6807\u53F3\u4E0A\u89D2\u5FBD\u6807\u7684\u5185\u5BB9 | number | string | - |
badge-props v3.2.8 | \u81EA\u5B9A\u4E49\u5FBD\u6807\u7684\u5C5E\u6027\uFF0C\u4F20\u5165\u7684\u5BF9\u8C61\u4F1A\u88AB\u900F\u4F20\u7ED9 Badge \u7EC4\u4EF6\u7684 props | BadgeProps | - |
disabled | \u662F\u5426\u7981\u7528\u8BE5\u9879 | boolean | false |
url | \u70B9\u51FB\u540E\u8DF3\u8F6C\u7684\u94FE\u63A5\u5730\u5740 | string | - |
to | \u70B9\u51FB\u540E\u8DF3\u8F6C\u7684\u76EE\u6807\u8DEF\u7531\u5BF9\u8C61\uFF0C\u7B49\u540C\u4E8E vue-router \u7684 to \u5C5E\u6027 | string | object | - |
replace | \u662F\u5426\u5728\u8DF3\u8F6C\u65F6\u66FF\u6362\u5F53\u524D\u9875\u9762\u5386\u53F2 | boolean | false |
\u4E8B\u4EF6\u540D | \u8BF4\u660E | \u56DE\u8C03\u53C2\u6570 |
---|---|---|
click | \u70B9\u51FB\u65F6\u89E6\u53D1 | index: number |
Name | Description |
---|---|
title | \u81EA\u5B9A\u4E49\u6807\u9898 |
\u7EC4\u4EF6\u5BFC\u51FA\u4EE5\u4E0B\u7C7B\u578B\u5B9A\u4E49\uFF1A
import type { SidebarProps, SidebarItemProps } from 'vant';
\u7EC4\u4EF6\u63D0\u4F9B\u4E86\u4E0B\u5217 CSS \u53D8\u91CF\uFF0C\u53EF\u7528\u4E8E\u81EA\u5B9A\u4E49\u6837\u5F0F\uFF0C\u4F7F\u7528\u65B9\u6CD5\u8BF7\u53C2\u8003 ConfigProvider \u7EC4\u4EF6\u3002
\u540D\u79F0 | \u9ED8\u8BA4\u503C | \u63CF\u8FF0 |
---|---|---|
--van-sidebar-width | 80px | - |
--van-sidebar-font-size | var(--van-font-size-md) | - |
--van-sidebar-line-height | var(--van-line-height-md) | - |
--van-sidebar-text-color | var(--van-text-color) | - |
--van-sidebar-disabled-text-color | var(--van-text-color-3) | - |
--van-sidebar-padding | 20px var(--van-padding-sm) | - |
--van-sidebar-active-color | var(--van-active-color) | - |
--van-sidebar-background-color | var(--van-background-color) | - |
--van-sidebar-selected-font-weight | var(--van-font-weight-bold) | - |
--van-sidebar-selected-text-color | var(--van-text-color) | - |
--van-sidebar-selected-border-width | 4px | - |
--van-sidebar-selected-border-height | 16px | - |
--van-sidebar-selected-border-color | var(--van-danger-color) | - |
--van-sidebar-selected-background-color | var(--van-background-color-light) | - |