将值传递给React和Reactstrap中的进度条

时间:2018-03-06 05:00:44

标签: reactjs reactstrap

我从未使用进度条,所以我试图通过拼凑各种来源并试图让它与React和Reactstrap一起工作来弄清楚。这对我来说似乎有意义,但它没有用。

这是有关<Progress />的reactstrap的文档。基本上,它需要一个value道具,所以我试图将它传递给一个方法,以便它可以动态更新,理论上应该使进度条移动。

https://reactstrap.github.io/components/progress/

但是,在我的情况下,条形图仅更新为5%,但console.log确实更新为100。

这是我的组件。我在这里做错了什么?

import React, { Component } from 'react';
import {
    Progress
} from 'reactstrap';

export default class SectionLoading extends Component {
    progressValue() {
        let width = 1;
        return setInterval(() => {
            if (width <= 100) {
                console.log(width);
                width++;
            }
        }, 10)
    }

    render() {
        return (
            <Progress value={this.progressValue()} />
        ); 
    }
}

2 个答案:

答案 0 :(得分:2)

我认为Progress值应该使用数字而不是函数。那么,您可以尝试将*ngFor更改为<Progress value={this.progressValue()} />,然后在progressValue函数中使用<Progress value={this.state.width} />来更新状态。

答案 1 :(得分:0)

this.state = {
    loaded:0,
}

<React.Fragment>
  <Progress max="100" color="success" value={this.state.loaded} > 
   {Math.round(this.state.loaded,2) }%</Progress>
<React.Fragment>