@@ -6,20 +6,26 @@ export default {
66 name : 'CBreadcrumb' ,
77 props : {
88 items : Array ,
9+ addLinkClasses : [ String , Array ] ,
10+ lastItemClasses : [ String , Array ] ,
911 } ,
1012 render ( h , { props, data } ) {
1113 if ( ! Array . isArray ( props . items ) ) { return }
1214 let childNodes = props . items . map ( ( item , index , items ) => {
13- const active = items . length === index + 1 && item . current === undefined || item . current
14- const tag = active ? 'span' : CLink
15- const itemProps = active ? { class : { active : true } } : { props : item }
15+ if ( typeof item !== 'object' ) { return }
16+ const isLast = items . length === index + 1
17+ const tag = isLast ? 'span' : CLink
18+ const itemProps = isLast ?
19+ { class : props . lastItemClasses , domProps : { innerHTML : item . text } } :
20+ { class : [ props . addLinkClasses , item . addLinkClasses ] ,
21+ domProps : { innerHTML : item . text } , props : item }
1622 return h ( 'li' ,
1723 {
1824 staticClass : 'breadcrumb-item' ,
19- class : { active : active } ,
25+ class : { active : isLast } ,
2026 attrs : { role : 'presentation' }
2127 } ,
22- [ h ( tag , itemProps , item . text ) ] )
28+ [ h ( tag , itemProps ) ] )
2329 } )
2430 return h ( 'ol' , mergeData ( data , { staticClass : 'breadcrumb' } ) , childNodes )
2531 }
0 commit comments