Breadcrumb
Examples
Style variants
Available ui
prop values: 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 ui
prop values: 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 mode
Use BreadcrumbItem
directly inline.
<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
You can also pass in a data source.
<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>
Custom separator
You can use a slot to customize the separator.
<template>
<article>
<veui-breadcrumb
class="breadcrumb"
:routes="routes"
>
<template #separator>
-
</template>
</veui-breadcrumb>
<veui-breadcrumb
class="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>
.breadcrumb {
& + & {
margin-top: 20px;
}
}
</style>
Event listener
Listen for the redirect
event and handle it instead of directly routing.
<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>
.console {
margin-top: 20px;
}
</style>
API
Props
Name | Type | Default | Description | ||||||
---|---|---|---|---|---|---|---|---|---|
ui | string | - | Predefined styles.
| ||||||
routes | Array<Object> | [] | Breadcrumb configuration, project type is |
Slots
Name | Description | ||||||
---|---|---|---|---|---|---|---|
default | Supports inline mode, directly passing in a list of BreadcrumbItem components. The routes prop will be ignored after filling. | ||||||
item | Used to customize content for each item. The default content is the
| ||||||
separator | The separator between breadcrumb entries. The default is to display the globally configured separator icon. |
Events
Name | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
redirect | When a project with a
|