34 lines
556 B
Vue
34 lines
556 B
Vue
|
<script>
|
||
|
export default {
|
||
|
name: 'ElTimeline',
|
||
|
|
||
|
props: {
|
||
|
reverse: {
|
||
|
type: Boolean,
|
||
|
default: false
|
||
|
}
|
||
|
},
|
||
|
|
||
|
provide() {
|
||
|
return {
|
||
|
timeline: this
|
||
|
};
|
||
|
},
|
||
|
|
||
|
render() {
|
||
|
const reverse = this.reverse;
|
||
|
const classes = {
|
||
|
'el-timeline': true,
|
||
|
'is-reverse': reverse
|
||
|
};
|
||
|
let slots = this.$slots.default || [];
|
||
|
if (reverse) {
|
||
|
slots = slots.reverse();
|
||
|
}
|
||
|
return (<ul class={ classes }>
|
||
|
{ slots }
|
||
|
</ul>);
|
||
|
}
|
||
|
};
|
||
|
</script>
|