界面控件KendoReact中文教程 - 如何创建动态进度条?

server/2024/9/20 3:57:33/ 标签: 用户界面, ui, kendo ui, react.js

Kendo UI致力于新的开发,来满足不断变化的需求。现在我们非常自豪地宣布,通过React框架的Kendo UI JavaScript封装来支持React Javascript框架。Kendo UI for React能够为客户提供更好的用户体验,并且能够更快地构建更好的应用程序。

KendoReact 2024 Q2新版下载

进度条是重要的UI元素,它向用户提供关于正在进行的流程状态的视觉反馈,在应用程序中广泛用于指示操作的进度,例如文件上传、下载或数据处理任务。

在本文中,我们将探讨如何使用KendoReact ProgressBar和ChunkProgressBar组件在React应用程序中创建动态进度条。

KendoReact ProgressBar组件

KendoReact ProgressBar组件以完成的百分比显示任务的进度,它通过kendo-react-progressbars npm包分发,并且可以直接从这个包中导入。

import { ProgressBar } from '@progress/kendo-react-progressbars';

要创建一个简单的进度条,我们可以指定值prop,它表示当前的进度。max和min props定义了进度条的范围,max默认为100,min默认为0。

import * as React from "react";
import { createRoot } from "react-dom/client";
import { ProgressBar } from "@progress/kendo-react-progressbars";const App = () => {
const value = 55; // Current progress valuereturn (
<div className="container">
<ProgressBar value={value} />
</div>
);
};const domNode = document.querySelector("my-app");
const root = createRoot(domNode);
root.render(<App />);

上面的代码将显示完成55%的进度条。

KendoReact中文教程图集

我们可以使用各种props自定义进度条的外观和操作,例如要反转进程的方向,我们可以将reverse prop设置为true。

const App = () => {
const value = 55;return (
<div className="container">
<ProgressBar value={value} reverse={true} />
</div>
);
};

KendoReact中文教程图集

要以垂直方向显示进度条,我们可以将orientation prop设置为“vertical”。

const App = () => {
const value = 55;return (
<div className="container">
<ProgressBar value={value} orientation="vertical" />
</div>
);
};

KendoReact中文教程图集

animation prop允许自定义进度条的动画,我们可以通过将该道具设置为布尔值或带有可自定义持续时间选项的对象来启用或自定义动画。例如,要启用默认动画,我们可以简单地将animation设置为true。

我们将animation prop设置为true,还将渲染一个按钮,当点击该按钮时,该按钮将更新进度条中显示的值,从0到55,这个进度条值的变化将有助于触发动画。

const App = () => {
const [progressBarValue, setProgressBarValue] = React.useState(0);return (
<div className="container">
<ProgressBar value={progressBarValue} animation={true} />
<button onClick={() => setProgressBarValue(55)}>Trigger animation</button>
</div>
);
};

当触发动画按钮被点击时,进度条将动画到55%。

触发动画按钮被按下,一个灰色的进度条从左到右填充粉红色至55%。

为了定制动画持续时间,我们可以提供一个持续时间值,下面是提供持续时间值为1000毫秒的示例。

const App = () => {
const [progressBarValue, setProgressBarValue] = React.useState(0);return (
<div className="container">
<ProgressBar value={progressBarValue} animation={{ duration: 1000 }} />
<button onClick={() => setProgressBarValue(55)}>Trigger animation</button>
</div>
);
};

以上将导致一个进度条动画与自定义和较慢的持续时间。

触发动画按钮被按下,一个灰色的进度条从左到右填充粉红色至55%,但移动得慢得多。

KendoReact ChunkProgressBar组件

ChunkProgressBar组件类似于ProgressBar组件,因为它可视化地向用户表示任务的进度。和progressbar组件一样,ChunkProgressBar组件也可以从kendo-react-progressbars npm包中导入。

import { ChunkProgressBar } from '@progress/kendo-react-progressbars';

ChunkProgressBar组件的独特之处在于它能够以不同的块显示进度,这使得它特别适合可以将进度划分为明确的阶段或步骤的场景。这是通过chunkCount属性实现的,该属性允许我们指定将进度条分割成块的数量。

下面是一个如何在React应用程序中使用ChunkProgressBar组件的基本示例:

import * as React from "react";
import { createRoot } from "react-dom/client";
import { ChunkProgressBar } from "@progress/kendo-react-progressbars";const App = () => {
const value = 60;return (
<div className="container">
<ChunkProgressBar chunkCount={5} value={value} />
</div>
);
};const domNode = document.querySelector("my-app");
const root = createRoot(domNode);
root.render(<App />);

上面的代码将呈现一个分成五个块的进度条,进度在视觉上填充成60%的比例值。给定默认行为并假设最大值为100,这意味着进度条将显示超过一半的填充块。

KendoReact中文教程图集

为了模拟在块中完成任务的进度,我们可以引入一个按钮,当单击该按钮时,它会更新进度条的值。

const App = () => {
const [progressBarValue, setProgressBarValue] = React.useState(0);const incrementValue = () => {
setProgressBarValue((prevValue) => prevValue + 20);
};return (
<div className="container">
<ChunkProgressBar chunkCount={5} value={progressBarValue} />
<button onClick={incrementValue}>Increment Chunk</button>
</div>
);
};

上面的示例实时模拟了任务进程,每次单击按钮都会填充进度条的一个额外块,演示一个常见的用例,其中任务以离散增量而不是连续的方式进行。

KendoReact中文教程图集

总结

总之,KendoReact ProgressBar和ChunkProgressBar组件为开发人员提供了在React应用程序中显示任务进度的有用工具。无论您是需要传统的进度条还是分段进度指示器,这些组件都提供了灵活性和自定义选项,以满足您的应用程序需求。


http://www.ppmy.cn/server/113255.html

相关文章

Elasticsearch的使用

1.Elasticsearch概述 1.1 搜索是什么 概念&#xff1a;用户输入想要的关键词&#xff0c;返回含有该关键词的所有信息。 场景&#xff1a; &#xff08;1&#xff09;互联网搜索&#xff1a;谷歌、百度、各种新闻首页 &#xff08;2&#xff…

苹果系统(MacOS)资源管理器和终端的来回切换

前言 苹果系统&#xff08;MacOS&#xff09;从某种程度上和Ubuntu等一众Linux系统有很多的相似的地方&#xff0c;很多时候非常依赖于命令行的操作&#xff0c;所以终端和资源管理器的配合使用就非常的关键。本博客整理出MacOS下资源管理器和终端的相互切换的方法&#xff0c;…

review——C++中的右值引用

目录 前言 一、什么是左值、什么是右值 二、右值引用 1.右值引用与右值引用的一些性质 2.解释一下左值引用与右值应用于程序员之间的关系 3.右值引用与移动语义 4.右值引用右值后变成左值的必要性与完美转发 1.右值引用引用右值后变为左值属性的必要性 2.完美转发 Ⅰ…

Java基于小程序公考学习平台的设计与实现

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…

借助el-steps和el-form实现超长规则配置的功能

目录 一、应用场景 二、开发流程 三、详细开发流程 四、总结 一、应用场景 最近开发了一个规则类的配置功能&#xff0c;这个功能之前就写过&#xff0c;最近完善了一下&#xff0c;所以将原先的规则变得更多元化&#xff0c;结构也更多了一层&#xff0c;添加新功能的时候…

深入掌握 Go 语言中的数值类型与循环技巧

数值数据类型 Go 语言原生支持整数、浮点数以及复数。以下部分将详细介绍 Go 支持的各种数值类型。 整数 Go 提供了四种不同大小的有符号和无符号整数类型&#xff0c;分别为 int8、int16、int32 和 int64&#xff0c;以及 uint8、uint16、uint32 和 uint64。每种类型名称中…

sheng的学习笔记-AI-概率图,隐马尔可夫HMM,马尔可夫随机场MRF,条件随机场CRF

ai目录&#xff1a;sheng的学习笔记-AI目录-CSDN博客 贝叶斯分类&#xff1a; https://blog.csdn.net/coldstarry/article/details/138861587 基础知识 概率图模型 概率图模型(probabilistic graphical model)是一类用图来表达变量相关关系的概率模型。 它以图为表示工具&…

HyperLogLog简介

基数估算 基数估算(Cardinality Estimation)&#xff0c;也称为 count-distinct problem&#xff0c;一直是大数据领域的重要问题之一&#xff0c;顾名思义&#xff0c;基数估算就是为了估算在一批超级大的数据中&#xff0c;它的不重复元素有多少个。常见的基数估算算法包括L…

【Python】按格式输出指定内容至新的Excel表中

优化之前写的文档更新工具&#xff0c;输出指定列的数据到公式表中&#xff0c;且确保数值单元格不会被识别为文本&#xff0c;导致Excel文档数值计算公式失效 ExcelTool.py import os import pandas as pd from openpyxl import load_workbook import json### Excel表指定shee…

Flutter之修改App的图标、名称

一、修改App名称 Android 路径&#xff1a;android/app/src/main/AndroidManifest.xml, 找到 android:label”string/app_name”。点击Ctrl鼠标左键转到string.xml 修改名称&#xff1a; <resources><string name"app_name">你的APP名称</string>…

使用Fign进行客户端远程调用和SpringFormEncoder的使用

1、引入依赖 <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId> </dependency> 2、启动类加上注解 EnableFeignClients SpringBootApplication public class FeignTe…

[羊城杯 2021]Ez_android-快坚持不下去的第五天

找到mainactivity函数 1. 用户名和密码的检查 2. 密码的加密然后 - 1 的操作 for (int i 0; i < bArr.length; i) {bArr[i] (byte) (bArr[i] - 1); } 这段代码通过遍历字节数组中的每个元素&#xff0c;将每个元素的值减去 1&#xff0c;并更新数组。这里的 byte 强制转…

单细胞降维聚类分群注释全流程学习(seruat5/harmony)

先前置几个推文~ 单细胞天地&#xff1a; https://mp.weixin.qq.com/s/drmfwJgbFsFCtoaMsMGaUA https://mp.weixin.qq.com/s/3uWO8AP-16ynpRQEnEezSw 生信技能树&#xff1a; https://mp.weixin.qq.com/s/Cp7EIXa72nxF3FHXvtweeg https://mp.weixin.qq.com/s/C-CXAQa2nTe…

FPGA随记---inout端口的处理

inout双向端口的要求 inout端口默认为wire型&#xff0c;这意味着我们不能在always中对其进行赋值&#xff0c;而需要使用assign进行赋值每一个inout端口都需要一个reg型的buffer来做缓冲器。 考虑这种情况&#xff1a; 当控制信号为真时&#xff0c;三态门开启&#xff0c;此…

PHP智能匹配轻松预订自习室在线订座系统小程序源码

智能匹配&#xff0c;轻松预订——自习室在线订座系统 &#x1f4da;【开篇&#xff1a;告别排队&#xff0c;迎接智能学习新时代】&#x1f4da; 还在为找不到合适的自习室座位而烦恼吗&#xff1f;是不是每次去图书馆或自习室都要提前好久去排队占位&#xff1f;现在&#…

【机器学习】朴素贝叶斯网络的基本概念以及朴素贝叶斯网络在python中的实例

引言 文章目录 引言一、朴素贝叶斯网络1.1 基本概念1.1.1 节点1.1.2 边&#xff08;Edges&#xff09;1.1.3 条件独立性 1.2 特点1.2.1 结构简单1.2.2 易于理解和实现1.2.3 计算效率高 1.3 应用1.4 数学表示1.5 局限性 二、朴素贝叶斯网络在python中的实例2.1 实例背景2.2 实现…

SpringBoot常用注解

&#xff08;1&#xff09;组件相关注解 Controller&#xff1a;控制层&#xff0c;被组件扫描并生成实例化对象 Service&#xff1a;业务层&#xff0c;被组件扫描并生成实例化对象 Repository&#xff1a;数据层&#xff0c;被组件扫描并生成实例化对象 Component&#x…

《Cloud Native Data Center Networking》(云原生数据中心网络设计)读书笔记 -- 09部署OSPF

本章的目的是帮助网络工程师确定网络的理想 OSPF 配置。本章将回答以下问题 应何时在数据中使用OSPF ?配置 OSPF 的关键设计原则是什么?OSPFv2 和 OSPFv3 之间有什么区别&#xff0c;应如何使用?如何在路由协议栈中配置 OSPF ?如何在服务器上配置 OSPF&#xff0c;例如为容…

Java 使用 Redis

Java 使用 Redis 1. 引言 Redis 是一个开源的高性能键值对数据库。它支持多种类型的数据结构&#xff0c;如字符串、列表、集合、散列表等&#xff0c;适用于多种场景&#xff0c;如缓存、消息队列等。Java 是一种广泛使用的编程语言&#xff0c;因此在 Java 应用程序中使用 …

arm调试-- gdb与gdbserver的安装与使用

一、安装 1.下载gdb源码 https://ftp.gnu.org/gnu/gdb/gdb-7.11.1.tar.gz 2. 解压编译gdb以及gdbserver (1)gdb PC端 tar -zxvf gdb-7.11.1.tar.gz cd gdb-7.11.1 mkdir _install ./configure --targetaarch64-linux-gnu --disable-werror --prefix/home/jinhao/gdb-7.1…