You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ReactJS中如何为Semantic UI(CSS)进度条添加或修改进度值

实现方案

你之前的写法无效是因为仅引入了Semantic UI的CSS文件,其官方文档中提到的data-value、data-total等属性的动态渲染效果依赖Semantic UI配套的JS脚本与jQuery,且React框架下直接设置自定义属性无法自动触发视图更新,推荐直接通过React状态控制进度条宽度即可,不需要额外引入其他依赖。

最简实现代码(函数组件):

import { useState } from 'react'

function App() {
  // 存储进度值,取值范围0-100
  const [progressValue, setProgressValue] = useState(10)

  return (
    <div>
      <div className="ui green progress">
      {/* 动态控制进度条宽度 */}
        <div 
          className="bar"
          style={{ width: `${progressValue}%`, transition: 'width 0.3s ease' }}
        >
          {/* 可选:显示进度数值 */}
          <div className="progress">{progressValue}%</div>
        </div>
      </div>
      {/* 测试按钮,点击进度+10 */}
      <button 
        className="ui button" 
        onClick={() => setProgressValue(prev => Math.min(prev + 10, 100))}
      >
        增加进度
      </button>
    </div>
  )
}

后续需要修改进度值时,直接调用setProgressValue传入目标数值即可,进度条会自动同步更新视图。

内容的提问来源于stack exchange,提问作者Mani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 15:18:01