欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue環(huán)形進度條組件實例應(yīng)用

 更新時間:2018年10月10日 14:20:06   投稿:laozhang  
在本文中我們給大家分享了關(guān)于vue環(huán)形進度條組件的使用方法以及實例代碼,需要的朋友們跟著測試下吧。

在做項目的時候,最好只使用一套組件庫,但是很多時候我們的組件庫里面沒有我們需要的組件,這個時候我們還是需要自己寫組件了,vux里面就沒有環(huán)形進度條組件,所以需要自己寫一個。

查找資料后發(fā)現(xiàn)了一個很好的實現(xiàn)方式,通過svg來實現(xiàn),以前的時候?qū)W過一點svg但是沒有怎么深入了解過。?!,F(xiàn)在看來真是罪過,給出參考鏈接

https://segmentfault.com/a/1190000008149403

可以看出原作者使用了兩種方式,我們選擇了第二種,簡單,而且好擴展??梢钥吹絪vg就想是canvas一樣進行繪圖。原文已經(jīng)講得很詳細了,這里就附上自己寫的組件吧。伸手黨們也能愉快一點。

<template>
 <svg :height="option.size" :width="option.size" x-mlns="http://www.w3.org/200/svg">
  <circle
   :r="option.radius"
   :cx="option.cx"
   :cy="option.cy"
   :stroke="option.outerColor"
   :stroke-width="option.strokeWidth"
   fill="none"
   stroke-linecap="round"/>
  <circle
   id="progressRound"
   :stroke-dasharray="completenessHandle"
   :r="option.radius"
   :cx="option.cx"
   :cy="option.cy"
   :stroke-width="option.strokeWidth"
   :stroke="option.innerColor"
   fill="none"
   class="progressRound"
  />
 </svg>
</template>
<script>
export default {
 name: 'CommonLoopProgress',
 props: {
  completeness: {
   type: Number,
   required: true,
  },
  progressOption: {
   type: Object,
   default: () => {},
  },
 },
 data () {
  return {
  }
 },
 computed: {
  completenessHandle () {
   let circleLength = Math.floor(2 * Math.PI * this.option.radius)
   let completenessLength = this.completeness * circleLength
   return `${completenessLength},100000000`
  },
  option () {
   // 所有進度條的可配置項
   let baseOption = {
    radius: 20,
    strokeWidth: 5,
    outerColor: '#E6E6E6',
    innerColor: '#FFDE00',
   }
   Object.assign(baseOption, this.progressOption)
   // 中心位置自動生成
   baseOption.cy = baseOption.cx = baseOption.radius + baseOption.strokeWidth
   baseOption.size = (baseOption.radius + baseOption.strokeWidth) * 2
   return baseOption
  },
 },
}
</script>
<style scoped lang='stylus'>
@import '~stylus/_variables.styl';
@import '~stylus/_mixins.styl';

.progressRound {
 transform-origin: center;
 transform: rotate(-90deg);
 transition: stroke-dasharray 0.3s ease-in;
}
</style>

修改了原文中的一些不好的命名方式,并且讓我們的組件方便配置,可以自由一點。

以上就是本次知識點的全部內(nèi)容,感謝大家對腳本之家的支持。

相關(guān)文章

  • 使用vue實現(xiàn)多規(guī)格選擇實例(SKU)

    使用vue實現(xiàn)多規(guī)格選擇實例(SKU)

    這篇文章主要介紹了使用vue實現(xiàn)多規(guī)格選擇實例(SKU),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • vue?parseHTML?函數(shù)源碼解析

    vue?parseHTML?函數(shù)源碼解析

    這篇文章主要為大家介紹了vue?parseHTML函數(shù)的源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-07-07
  • vue?scoped與深度選擇器deep的原理分析

    vue?scoped與深度選擇器deep的原理分析

    這篇文章主要介紹了vue?scoped與深度選擇器deep的原理分析,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • Vue自定義省市區(qū)三級聯(lián)動

    Vue自定義省市區(qū)三級聯(lián)動

    這篇文章主要為大家詳細介紹了Vue自定義省市區(qū)三級聯(lián)動,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • vue實戰(zhàn)中的一些實用小魔法匯總

    vue實戰(zhàn)中的一些實用小魔法匯總

    這篇文章主要給大家介紹了關(guān)于vue實戰(zhàn)中一些實用小魔法的相關(guān)資料,這些技巧和竅門,可以幫助你成為更好的Vue開發(fā)人員,需要的朋友可以參考下
    2021-06-06
  • vue組件tabbar使用方法詳解

    vue組件tabbar使用方法詳解

    這篇文章主要為大家詳細介紹了vue組件tabbar使用方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • 在vue中使用eacharts創(chuàng)建graph關(guān)系圖方式

    在vue中使用eacharts創(chuàng)建graph關(guān)系圖方式

    這篇文章主要介紹了在vue中使用eacharts創(chuàng)建graph關(guān)系圖方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • 詳解Vue中數(shù)組和對象更改后視圖不刷新的問題

    詳解Vue中數(shù)組和對象更改后視圖不刷新的問題

    這篇文章主要介紹了Vue中數(shù)組和對象更改后視圖不刷新的問題,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09
  • vue webpack實用技巧總結(jié)

    vue webpack實用技巧總結(jié)

    本篇文章給大家總結(jié)了vue+webpack的實用技巧以及相關(guān)實例代碼分享,有興趣的朋友可以參考學(xué)習(xí)下。
    2018-04-04
  • vue項目啟動命令個人學(xué)習(xí)記錄

    vue項目啟動命令個人學(xué)習(xí)記錄

    最近想要學(xué)習(xí)vue,正好看到資料,如何通過命令創(chuàng)建vue項目的方法,就留個筆記,下面這篇文章主要給大家介紹了關(guān)于vue項目啟動命令的相關(guān)資料,需要的朋友可以參考下
    2023-02-02

最新評論