import { use } from '../utils'; import Icon from '../icon'; const [sfc, bem] = use('step'); export default sfc({ beforeCreate() { const { steps } = this.$parent; const index = this.$parent.slots().indexOf(this.$vnode); steps.splice(index === -1 ? steps.length : index, 0, this); }, beforeDestroy() { const index = this.$parent.steps.indexOf(this); if (index > -1) { this.$parent.steps.splice(index, 1); } }, computed: { status() { const index = this.$parent.steps.indexOf(this); const { active } = this.$parent; if (index < active) { return 'finish'; } if (index === active) { return 'process'; } } }, render(h) { const { status } = this; const { activeIcon, activeColor, direction } = this.$parent; const titleStyle = status === 'process' && { color: activeColor }; return (
{this.slots()}
{status !== 'process' ? ( ) : ( this.slots('active-icon') || ( ) )}
); } });