Support Breadcrumb

keep slot sepatator
This commit is contained in:
huixisheng 2017-03-03 21:05:30 +08:00
parent 2d74744daf
commit c06e99d09f
7 changed files with 59 additions and 12 deletions

View file

@ -53,7 +53,7 @@
- [x] Tabs
- [x] Dropdown
- [ ] Page
- [ ] Breadcrumb
- [x] Breadcrumb
- [x] Steps
- [ ] LoadingBar
- [x] Circle

View file

@ -6,8 +6,10 @@
<span v-else :class="linkClasses">
<slot></slot>
</span>
<span :class="separatorClasses">
<slot name="separator">{{{ separator }}}</slot>
<span :class="separatorClasses" v-html="separator" v-if="!showSeparator">
</span>
<span :class="separatorClasses" v-else>
<slot name="separator"></slot>
</span>
</span>
</template>
@ -18,12 +20,17 @@
props: {
href: {
type: String
},
separator: {
type: String,
default: '/'
}
},
data () {
return {
separator: '',
showSeparator: false
}
},
mounted () {
this.showSeparator = this.$slots.separator !== undefined;
},
computed: {
linkClasses () {
return `${prefixCls}-link`;

View file

@ -18,7 +18,7 @@
return `${prefixCls}`;
}
},
compiled () {
mounted () {
this.updateChildren();
},
methods: {

View file

@ -5,7 +5,7 @@ import Affix from './components/affix';
import Alert from './components/alert';
// import BackTop from './components/back-top';
import Badge from './components/badge';
// import Breadcrumb from './components/breadcrumb';
import Breadcrumb from './components/breadcrumb';
import Button from './components/button';
import Card from './components/card';
import Carousel from './components/carousel';
@ -51,8 +51,8 @@ const iview = {
Alert,
// BackTop,
Badge,
// Breadcrumb,
// BreadcrumbItem: Breadcrumb.Item,
Breadcrumb,
BreadcrumbItem: Breadcrumb.Item,
// iButton: Button,
Button,
ButtonGroup: Button.Group,

View file

@ -39,6 +39,7 @@ li + li { border-left: solid 1px #bbb; padding-left: 10px; margin-left: 10px; }
<li><router-link to="/poptip">Poptip</router-link></li>
<li><router-link to="/slider">Slider</router-link></li>
<li><router-link to="/dropdown">Dropdown</router-link></li>
<li><router-link to="/breadcrumb">Breadcrumb</router-link></li>
</ul>
</nav>
<router-view></router-view>

View file

@ -120,6 +120,10 @@ const router = new VueRouter({
{
path: '/dropdown',
component: require('./routers/dropdown.vue')
},
{
path: '/breadcrumb',
component: require('./routers/breadcrumb.vue')
}
]
});

View file

@ -0,0 +1,35 @@
<style>
.demo-breadcrumb-separator{
color: #ff5500;
padding: 0 5px;
}
</style>
<template>
<div>
<Breadcrumb separator="<b class='demo-breadcrumb-separator'>=></b>">
<Breadcrumb-item href="/">Home4</Breadcrumb-item>
<Breadcrumb-item href="/components/breadcrumb">Components</Breadcrumb-item>
<Breadcrumb-item>Breadcrumb</Breadcrumb-item>
</Breadcrumb>
<Breadcrumb separator="">
<Breadcrumb-item href="/">
<template>Home</template>
<template slot="separator">
<b style="color: #ff5500;">-></b>
</template>
</Breadcrumb-item>
<Breadcrumb-item href="/components/breadcrumb">
<template>Breadcrumb</template>
<template slot="separator">
<b style="color: #ff5500;">-></b>
</template>
</Breadcrumb-item>
<Breadcrumb-item>Breadcrumb</Breadcrumb-item>
</Breadcrumb>
</div>
</template>
<script>
export default {
}
</script>