日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

react实现svg实线、虚线、方形进度条

發布時間:2024/7/5 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 react实现svg实线、虚线、方形进度条 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一年前剛到新公司就接到可視化大屏項目,一看Ui,“頭很方”!因為查了現有的一些圖標庫,沒有直接可以拿來用的。以下是UI的一小小部分:

而如今從無到有,寫出react-super-progress圓形進度通用組件,能寫出虛線、實線、方形、圓形、漸變色、餅圖等各種進度,也算是一種進步吧;下面是各類實現效果截圖:

github地址:https://github.com/lvzhiyi/react-super-progress;

詳細文檔地址:http://120.78.184.181/progress-docs/#/elements/components/Progress;

npm:? ??npm install react-super-progress -S

?

?下面進入正題,分享出實現原理與組件實現步驟:

一、首先要掌握幾個重要的api

? ?svg 基礎知識、重點掌握屬性?strokeDasharray、基本元件(原型、矩形)、defs預定義屬性

?

二、圓形進度實現

? ?1、基本流程

? ? ? ?----> 利用svg基礎元件circle我們能畫出圓形

? ? ? ?---->??圖形顏色填充為空白(fiill: none)

   ---->? 利用svg邊框屬性storke可以畫出代邊框的圓形,storke-width控制邊框寬度,也就是原型厚度

? ? ? ?----> 重點:利用strokeDasharray屬性控制圓圈進度

  前三步相對簡單沒有過多邏輯,這里不再贅述;

?

? ? ? 這里重點解釋一下第四步:在沒有strokeDasharray屬性的時候,邊框默認是實線且不可控制進度;strokeDasharray屬性接收任意數量字符串數字為屬性,用來表示邊框虛線的構成形式,奇數位表示虛線的實體部分,偶數位表示虛線空白部分。舉例說明:

  strokeDasharray="10 20 30 20" 對應效果? ?------>??

  而對應的我們使用?strokeDasharray="當前進度對應周長 圓形總周長"算法來實現對進度的控制,也就是第一個參數通過當前進度乘以對應周長控制實體虛線部分,總周長來控制空白部分(也可以用剩余百分比控制(1 - 進度值),這里為了便于計算,效果是一樣的);距離說明:

  比如當前進度75%,圓形周長為c:

  對應的 ---->?strokeDasharray = "(75 / 100 * c)??(c)" ---->?

  從而實現對圓圈進度的控制!方形進度同理。餅圖按照 半徑(r)/ 寬度(width)1:4的比例提供參數值即可實現。

?

二、虛線進度的實現

  虛線進度與實現進度實現的原理大不相同,與strokeDasharray毫無關系,原理也相對簡單:將方形元件旋轉渲染至某個角度即可。

       ---->?

  主要使用了transform屬性 ---->?transform=" rotate( 90,? 50 50) " ----> 第一個屬性值90代表旋轉角度,后面一對屬性值(50, 50)代表旋轉的圓心位置;

?

二、關于漸變色

  1、普通進度圈的漸變色是根據svg預定義屬性defs創建漸變色塊,在圓圈內使用stroke屬性引用 ---->?stroke="#colors"

  2、虛線進度因為是由不同元件旋轉渲染而成,所以通過漸變值分割成對應數量的漸變值數值,應用在每一個元件上;分割對應的漸變值相對復雜一些,感興趣的可參見源碼分析。

?

?

?

?

?

??

轉載于:https://www.cnblogs.com/lvzhiyiboke/p/10241287.html

總結

以上是生活随笔為你收集整理的react实现svg实线、虚线、方形进度条的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 美日毛片 | 国产精品第108页 | 我要看免费的毛片 | 欧美极品一区二区三区 | 欧美一区二区三区啪啪 | 一本色道综合久久欧美日韩精品 | 欧美三级一区二区三区 | 亚洲a影院| 国产精品v欧美精品v日韩精品 | 欧美成人视屏 | 变态另类丨国产精品 | 香蕉成视频人app下载安装 | 午夜精品久久久久久 | 国产91丝袜在线播放 | 亚洲热热| 免费激情 | 亚洲最大黄色 | 波多野结衣之双调教hd | 久久久久久久久国产精品一区 | 精品欧美一区二区久久久久 | av每日更新在线观看 | 国产伦精品一区三区精东 | 欧美理论片在线观看 | 香蕉成人av| 四虎影视成人永久免费观看亚洲欧美 | 久草免费在线视频观看 | 亚洲一区二区av在线 | 欧美日韩在线视频一区 | 涩涩久久 | 亚洲国产日韩欧美在线观看 | av影音先锋 | 亚洲av无码专区国产乱码不卡 | 成人妇女淫片aaaa视频 | 巨乳xxx| 亚洲美女网站 | 美女视频久久久 | 精品国产鲁一鲁一区二区张丽 | 国产麻豆精品在线观看 | 99久久久无码国产 | 成人福利在线视频 | 国语对白做受欧美 | 欧美精品一区二区三区久久 | www.日本在线视频 | 国内精品嫩模av私拍在线观看 | 久久中文精品 | 乱淫67194| 麻豆tv在线 | 欧美韩日国产 | 亚洲国产精品无码久久久久高潮 | 亚洲精品一区二区三区区别 | 婷婷爱五月天 | 久久久久亚洲无码 | 激情 小说 亚洲 图片 伦 | av手机免费观看 | 六月综合网 | 国产一级二级视频 | 97人人爽人人爽人人爽人人爽 | 男生和女生一起差差差很痛的视频 | 日本久久影视 | 国产一区不卡在线 | 日韩性网| 久久视频免费观看 | 最近中文字幕在线中文高清版 | 久久国产热视频 | 天天操bb| 国产精品视频在线免费观看 | 偷拍夫妻性生活 | 中文字幕在线观看的网站 | 日韩视频一区二区 | 免费黄av | 国产精品无码粉嫩小泬 | 日韩美一区二区三区 | 免费看黄色大片 | 国产精品成人一区二区网站软件 | 黄色大片在线看 | 天天干天天操天天爽 | 黄色在线视频观看 | 天堂在线观看中文字幕 | 日本精品成人 | 香蕉成人在线视频 | 成人在线观看网址 | 国产精品v日韩精品v在线观看 | 国产一级淫片a | 亚洲精品麻豆 | 91av视频播放 | 99视频99 | 日韩的一区二区 | 午夜免费高清视频 | 国产乱子伦精品视频 | 亚洲欧洲在线看 | 精品黄色片 | 少妇又色又爽 | 污的视频在线观看 | 窝窝午夜视频 | 成人av一区 | 超级变态重口av番号 | 国产中文在线播放 | 无码精品人妻一区二区 | 日韩高清不卡一区 |