如何在 ReactJS 中建立進度條?


我們可以使用進度條來跟蹤特定任務完成的百分比。也許您在許多網站上傳檔案時都見過進度條,它是進度條的最佳用例之一,用於顯示檔案上傳的百分比。

進度條的另一個最佳用例是顯示下載完成百分比。我們可以使用不同的 CSS 樣式為進度條設定動畫並改善使用者體驗。

在本教程中,我們將學習使用庫和從頭開始在 ReactJS 中建立進度條。

使用 ranmonak 庫的 react-progress-bar 元件

ranmonak NPM 包的 react-progress-bar 元件允許我們在 React 應用程式中新增進度條。使用者需要在終端執行以下命令,以將 ranmonak 庫安裝到當前的 React 應用程式中。

npm i @ramonak/react-progress-bar 

語法

使用者可以按照以下語法使用 react-progress-bar 建立進度條。

import ProgressBar from "@ramonak/react-progress-bar";
<ProgressBar completed={50} bgColor="grey" animateOnRender={true} />

在上面的語法中,我們從 ramonak/react-progress-bar 匯入了 ProgressBar 元件。

示例

在下面的示例中,我們使用了 ProgressBar 元件來建立進度條。此外,我們還傳遞了 props 來自定義進度條。我們使用了 bgColor props 來更改進度條的背景顏色。我們可以將進度條的百分比作為 completed props 的值傳遞。

animateOnRender prop 允許我們為進度條設定動畫。isLabelVisible 允許我們在進度條上顯示和隱藏標籤。

import React from "react";
import ProgressBar from "@ramonak/react-progress-bar";
export default function App() {
   const mainDiv = {
      width: "600px",
   };
   return (
      <div style = {mainDiv}>
         <h3>
            {" "}
            Creating the progress bar using the <i> react-progress-bar component of the ranmonak library </i> in ReactJs
         </h3>
         <ProgressBar completed = {50} bgColor = "grey" animateOnRender = {true} />
         <br></br>
         <ProgressBar completed = {30} bgColor = "green" isLabelVisible = {false} />
         <br></br>
         <ProgressBar completed = {90} bgColor = "red" animateOnRender = {true} isLabelVisible = {false} />
         <br></br>
         <ProgressBar completed = {90.1} bgColor = "black" />
         <br></br>
         <ProgressBar completed = {90.3} animateOnRender = {true} />
      </div>
   );
}

輸出

使用 react-bootstrap 的 ProgressBar 元件

react-bootstrap 庫包含 ProgressBar 元件,我們可以將其匯入應用程式並使用 props 自定義進度條。

使用者可以使用以下命令在應用程式中安裝 react-bootstrap 和 bootstrap 庫。

npm install react-bootstrap bootstrap 

語法

使用者可以按照以下語法使用 reactbootstrap 庫中的 ProgressBar 元件。

<ProgressBar now={70} label={`70% completed`} animated /> 

在上面的語法中,我們傳遞了“now” props 以在進度條中顯示百分比。

示例

在下面的示例中,我們從 react-bootstrap 匯入了 ProgressBar 元件,從 Bootstrap 庫匯入了 CSS。之後,我們透過向 ProgressBar 元件傳遞各種 props 建立了多個進度條。

“animated” props 允許我們為進度條設定動畫。我們可以將完成的百分比作為“now”屬性的值傳遞。此外,我們還使用了 label props 將標籤傳遞給進度條。

import React from "react";
import { ProgressBar } from "react-bootstrap"; 
import "bootstrap/dist/css/bootstrap.min.css";
export default function App() {
   const mainDiv = {
      width: "400px",
      textAlign: "center",
   };
   return (
      <div>
         <h4>
            {" "}
            Creating the progress bar using the{" "}<i> ProgressBar component of react-bootstrap NPM package </i> in  ReactJs
         </h4>
         <br></br>
         <div style = {mainDiv}>
            <ProgressBar now = {50} label = {`50% completed`} />
            <br></br>
            <ProgressBar now = {70} label = {`70% completed`} animated />
            <br></br>
            <ProgressBar now = {30} label = {`30% completed`} variant = "success" />
         </div>
      </div>
   );
}

輸出

在 ReactJS 中從頭開始建立進度條

我們可以使用 HTML 和 CSS 在 ReactJS 中從頭開始建立進度條。我們可以使用兩個巢狀的 div 來建立進度條,並新增 CSS 來自定義進度條。

語法

使用者可以按照以下語法在 ReactJS 中從頭開始建立進度條。

<div class = "mainDiv">
   <div class = "childDiv"></div>
</div>

在上面的語法中,mainDiv 用作進度條。我們可以將寬度設定為 childDiv 完成百分比。

示例

檔名 – App.js

在下面的檔案中,我們建立了具有“mainDiv”類名的 div,並添加了另一個具有“childDiv”類名的 div。此外,我們在 childDiv 內部添加了<span>元素來為進度條設定標籤。

import React from "react";
import "./App.css";
export default function App() {
   return (
      <div>
         <h3>
            {" "}
            Creating the progress bar using the <i> HTML and CSS </i> in ReactJs
         </h3>
         <br></br>
         <div class = "mainDiv">
            <div class = "childDiv">
               <span class = "text"> 60% </span>
            </div>
         </div>
      </div>
   );
}

檔名 – App.css

在下面的檔案中,我們為 mainDiv 設定了寬度。此外,我們還對進度條應用了一些 CSS。在 childDiv 中,我們設定了 60% 的寬度,顯示 60% 的完成百分比。

.mainDiv {
   height: 2rem;
   width: 500px;
   background-color: whitesmoke;
   border-radius: 12px;
   margin: 1rem;
}
.childDiv {
   height: 100%;
   width: 60%;
   background-color: green;
   border-radius: 12px;
   text-align: left;
}
.text {
   color: white;
   padding-left: 30px;
   font-size: 1.4rem;
   font-weight: 700;
}

輸出

在本教程中,我們學習了三種建立進度條的方法。如果使用者想要從庫中建立進度條,可以使用第一種和第二種方法;如果使用者想要從頭開始建立進度條,則應使用第三種方法。

更新於: 2023年2月28日

9K+ 瀏覽量

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告