使用 element-ui 的 el-progress 写的进度条

37 篇文章 0 订阅
17 篇文章 0 订阅

 

相信你会用得到,动态创建弹框,看了不后悔,给自己另外一篇文章引流

<template>
    <div class="scaleProgress">
        <el-progress :text-inside="true" :stroke-width="18" :percentage="progressNum"></el-progress>
    </div>
</template>

<script>
    export default {
        data() {
            return {
                progressNum: 10,
                startTimer: '',
                endTimer: ''
            }
        },
        props: {
            progressStatus: {
                type: Boolean,
                default() {
                    return false
                }
            }
        },
        watch: {
            progressStatus (val) {
                if (val) {
                    this.endProgress()
                }
            }
        },
        methods: {
            startProgress () {
                this.startTimer = setInterval(() => {
                    this.progressNum ++
                    if (this.progressNum > 85) {
                        clearInterval(this.startTimer)
                    }
                }, 100); 
            },
            endProgress () {
                clearInterval(this.startTimer)
                this.endTimer = setInterval(() => {
                    this.progressNum ++
                    if (this.progressNum > 99) {
                        clearInterval(this.endTimer)
                        this.finishProgress()
                    }
                }, 10);
            },
            finishProgress () {
                this.$emit('finishProgress', false)
            }
        },
        mounted() {
            this.startProgress()
        }
    }
    // 使用示例
    // import sProgress from 'components/common/SProgress'
    // <s-progress @finishProgress="closeProgress" v-if="showProgress" :progressStatus="progressStatus"></s-progress>                     
    // closeProgress (val) {
    //     this.showProgress = val
    //     this.progressStatus = val
    // },
    // save () {
    //     this.showProgress = true
    //     setTimeout(() => {
    //         this.progressStatus = true
    //     }, 3000)
    // },
</script>
<style scoped>
.scaleProgress {
    transform: scaleY(0.75);
}
</style>

 

  • 8
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值