c
//子组件
<template>
<view class="container-step">
<view class="uni-padding-wrap">
<view class="progress-box">
<progress :percent="3" active="true" stroke-width="2" />
</view>
<view class="progress-bar">
<view class="bar-item" v-for="(item,index) in stepList" :key="index" :class="showStep>=index+1?'itemActive':'itemDefault'">
<view class="bar-round">{{item.step}}</view>
<view class="bar-info">{{item.name}}</view>
</view>
</view>
</view>
</view>
</template>
<script>
export default {
props: {
showStep: {
type: Number,
default: 1
},
stepList: {
type: Array,
default: function(){
return [{step:1,name:'基本信息'},{step:2,name:'发票信息'},{step:3,name:'上传附件'}]
}
}
}
}
}
</script>
<style scoped>
.uni-padding-wrap {
width: 750upx;
height: 130upx;
background: #F5F8FB;
.progress-box {
padding: 42upx 80upx 27upx 80upx;
}
.progress-bar {
display: flex;
justify-content: space-between;
position: relative;
top: -42upx;
.bar-item {
display: flex;
flex-direction: column;
text-align: center;
.bar-round {
width: 30upx;
height: 30upx;
color: #ffffff;
/* background: #999999; */
border-radius: 50%;
font-size: 18upx;
line-height: 30upx;
text-align: center;
margin: 0 80upx;
margin-bottom: 6upx;
}
.bar-info {
color: #999999;
font-size: 24upx;
margin: 0 40upx;
}
}
.itemActive {
.bar-round {
background: #288FF6;
}
.bar-info {
color: #288FF6;
}
}
.itemDefault {
.bar-round {
background: #999999;
}
.bar-info {
color: #999999;
}
}
}
}
</style>
父组件引用
c
<template>
<!--:stepList=[你需要传的值] :showStep=第几步->
<step-page :showStep="3" />
</template>
<script>
import stepPage from '@/components/stepPage/index'
export default {
components: {stepPage}
}