Breadcrumb
Demos
Stylistic variants
Available style variants for the ui
prop: strong
.
<template>
<article>
<section>
<veui-breadcrumb>
<veui-breadcrumb-item to="./breadcrumb">
Home
</veui-breadcrumb-item>
<veui-breadcrumb-item to="./breadcrumb">
Components
</veui-breadcrumb-item>
<veui-breadcrumb-item type="text">
Breadcrumb
</veui-breadcrumb-item>
</veui-breadcrumb>
</section>
<section>
<veui-breadcrumb ui="strong">
<veui-breadcrumb-item to="./breadcrumb">
Home
</veui-breadcrumb-item>
<veui-breadcrumb-item to="./breadcrumb">
Components
</veui-breadcrumb-item>
<veui-breadcrumb-item type="text">
Breadcrumb
</veui-breadcrumb-item>
</veui-breadcrumb>
</section>
</article>
</template>
<script>
import { Breadcrumb, BreadcrumbItem } from 'veui'
export default {
components: {
'veui-breadcrumb': Breadcrumb,
'veui-breadcrumb-item': BreadcrumbItem
}
}
</script>
<style lang="less" scoped>
section {
margin-bottom: 1em;
}
</style>
Size variants
Available size variants for the ui
prop: s
/ m
.
<template>
<article>
<section>
<veui-breadcrumb ui="m">
<veui-breadcrumb-item to="./breadcrumb">
Home
</veui-breadcrumb-item>
<veui-breadcrumb-item to="./breadcrumb">
Components
</veui-breadcrumb-item>
<veui-breadcrumb-item type="text">
Breadcrumb
</veui-breadcrumb-item>
</veui-breadcrumb>
</section>
<section>
<veui-breadcrumb ui="s">
<veui-breadcrumb-item to="./breadcrumb">
Home
</veui-breadcrumb-item>
<veui-breadcrumb-item to="./breadcrumb">
Components
</veui-breadcrumb-item>
<veui-breadcrumb-item type="text">
Breadcrumb
</veui-breadcrumb-item>
</veui-breadcrumb>
</section>
</article>
</template>
<script>
import { Breadcrumb, BreadcrumbItem } from 'veui'
export default {
components: {
'veui-breadcrumb': Breadcrumb,
'veui-breadcrumb-item': BreadcrumbItem
}
}
</script>
<style lang="less" scoped>
section {
margin-bottom: 1em;
}
</style>
Inline usage
Can be used with embedded BreadcrumbItem
s.
<template>
<article>
<veui-breadcrumb>
<veui-breadcrumb-item to="./breadcrumb">
Home
</veui-breadcrumb-item>
<veui-breadcrumb-item to="./breadcrumb">
Components
</veui-breadcrumb-item>
<veui-breadcrumb-item type="text">
Breadcrumb
</veui-breadcrumb-item>
</veui-breadcrumb>
</article>
</template>
<script>
import { Breadcrumb, BreadcrumbItem } from 'veui'
export default {
components: {
'veui-breadcrumb': Breadcrumb,
'veui-breadcrumb-item': BreadcrumbItem
}
}
</script>
Using datasource
Can be used with the routes
prop as well.
<template>
<article>
<veui-breadcrumb :routes="routes"/>
</article>
</template>
<script>
import { Breadcrumb } from 'veui'
export default {
components: {
'veui-breadcrumb': Breadcrumb
},
data () {
return {
routes: [
{
to: './breadcrumb',
label: 'Home'
},
{
to: './breadcrumb',
label: 'Components'
},
{
label: 'Breadcrumb'
}
]
}
}
}
</script>
Customizable separators
Separators can be customized.
<template>
<article>
<veui-breadcrumb :routes="routes">
<template #separator>
-
</template>
</veui-breadcrumb>
<veui-breadcrumb :routes="routes">
<template #separator>
<veui-icon name="arrow-right"/>
</template>
</veui-breadcrumb>
</article>
</template>
<script>
import { Breadcrumb, Icon } from 'veui'
import 'veui-theme-dls-icons/arrow-right'
export default {
components: {
'veui-breadcrumb': Breadcrumb,
'veui-icon': Icon
},
data () {
return {
routes: [
{
to: './breadcrumb',
label: 'Home'
},
{
to: './breadcrumb',
label: 'Components'
},
{
label: 'Breadcrumb'
}
]
}
}
}
</script>
<style lang="less" scoped>
.veui-breadcrumb:first-child {
margin-bottom: 20px;
}
</style>
Events mode
Handling redirect
event instead of redirect with router.
<template>
<article>
<veui-breadcrumb
:routes="routes"
@redirect="handleRedirect"
/>
<div class="console">
<template v-if="currentRoute">
Redirected to <b>{{ currentRoute.label }}</b>.
</template>
<template v-else>
Not redirected yet.
</template>
</div>
</article>
</template>
<script>
import { Breadcrumb } from 'veui'
export default {
components: {
'veui-breadcrumb': Breadcrumb
},
data () {
return {
currentRoute: null,
routes: [
{
label: 'Home',
type: 'link'
},
{
label: 'Components',
type: 'link'
},
{
label: 'Breadcrumb'
}
]
}
},
methods: {
handleRedirect (event, route) {
this.currentRoute = route
}
}
}
</script>
<style lang="less" scoped>
.veui-breadcrumb:first-child {
margin-bottom: 20px;
}
</style>
API
Props
Name | Type | Default | Description | ||||||
---|---|---|---|---|---|---|---|---|---|
ui | string= | - | Style variants.
| ||||||
routes | Array<Object> | [] | The datasource for breadcrumb items. The type of items is |
Slots
Name | Description | ||||||
---|---|---|---|---|---|---|---|
default | The items of the breadcrumb. Can only have BreadcrumbItem components as direct children. The routes prop will be ignored when this slot is specified. | ||||||
item | The content of each breadcrumb item. Default to the
| ||||||
separator | Separator between adjacent breadcrumb items. Displays a globally configured icon by default. |
Events
Name | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
redirect | Triggered when clicking the item with
|