一對一聊天原始碼,vue實現環形進度條元件

zhibo系統開發發表於2022-02-23

一對一聊天原始碼,vue實現環形進度條元件的相關程式碼

<template>
<div @click="togglePlaying">
<svg  :width="radius" :height="radius" viewBox="0 0 100 100" version="1.1" xmlns="
<circle r="50" cx="50" cy="50" fill="transparent"></circle>
<circle  r="50" cx="50" cy="50" fill="transparent" :stroke-dasharray="dashArray"//dashArra表示圓環的周長
:stroke-dashoffset="dashOffset"></circle><!-- fill是背景顏色,不是邊框 -->
</svg>//dashOffset是圓環進度,dashOffset等於周長時進度為0,dashOffset等於0時進度100%
<slot></slot>//預設插槽,可以填充一個圖示。比如我在音樂專案中插入一個三角圖示
</div>
</template>
<script type="text/ecmascript-6">
const r = 50
export default {
props: {
radius: {
type: Number,
default: 100
},
percent:{
type:Number,
default:0
}
},
data() {
return {
}
},
components: {},
methods: {
togglePlaying(){
this.$emit('click')
}
},
mounted() {},
computed:{
dashArray(){
return 2*r*3.14
},
dashOffset(){
return (1 - this.percent)*this.dashArray
}
},
created() {},
watch: {}
}
</script>
<style scoped rel="stylesheet/stylus">
    @import '../../common/stylus/variable'
    .progress-circle
        position: relative
        width 100%
        height 100%
        svg
          position absolute
          top 40%
          left 50%
          z-index 10
          transform translate(-50%,-50%)
          circle
            position absolute
            stroke-width: 8px
            transform-origin: center//旋轉軸點,這裡設定為中心點
            &.progress-background
              transform: scale(0.9)//&表示應用父元素,這裡可理解為一種"&&"
              stroke: $color-theme-d
            &.progress-bar
              transform: scale(0.9) rotate(-90deg)//rotate作用是使進度從正上方開始
              stroke: $color-theme
</style>


以上就是一對一聊天原始碼,vue實現環形進度條元件的相關程式碼, 更多內容歡迎關注之後的文章


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69978258/viewspace-2857431/,如需轉載,請註明出處,否則將追究法律責任。

相關文章