@@ -6,20 +6,26 @@ export default {
6
6
name : 'CBreadcrumb' ,
7
7
props : {
8
8
items : Array ,
9
+ addLinkClasses : [ String , Array ] ,
10
+ lastItemClasses : [ String , Array ] ,
9
11
} ,
10
12
render ( h , { props, data } ) {
11
13
if ( ! Array . isArray ( props . items ) ) { return }
12
14
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 }
16
22
return h ( 'li' ,
17
23
{
18
24
staticClass : 'breadcrumb-item' ,
19
- class : { active : active } ,
25
+ class : { active : isLast } ,
20
26
attrs : { role : 'presentation' }
21
27
} ,
22
- [ h ( tag , itemProps , item . text ) ] )
28
+ [ h ( tag , itemProps ) ] )
23
29
} )
24
30
return h ( 'ol' , mergeData ( data , { staticClass : 'breadcrumb' } ) , childNodes )
25
31
}
0 commit comments