Progress 进度条
展示操作的当前进度。
何时使用
在操作需要较长时间才能完成时,为用户显示该操作的当前进度和状态。
- 当一个操作会打断当前界面,或者需要在后台运行,且耗时可能超过2秒时;
- 当需要显示一个操作完成的百分比时。
API
Progress Bar
参数 |
说明 |
类型 |
默认值 |
percent |
百分比 |
number |
0 |
status |
状态,有两个值normal、exception、active三种状态 |
string |
normal |
strokeWidth |
进度条线的宽度,单位是px |
number |
1 |
showInfo |
是否显示进度数值和状态图标 |
bool |
true |
Progress Circle
参数 |
说明 |
类型 |
默认值 |
percent |
百分比 |
number |
0 |
status |
状态,有两个值normal、exception |
string |
normal |
strokeWidth |
进度条线的宽度,单位是进度条画布宽度的百分比 |
number |
1 |
width |
必填,进度条画布宽度,单位px。这里没有提供height属性设置,Line型高度就是strokeWidth,Circle型高度等于width |
number |
null |
组件演示
var Progress = antd.Progress.Line;
React.render(
<div>
<Progress percent="30" />
<Progress percent="50" status="active" />
<Progress percent="70" status="exception" />
<Progress percent="100" />
<Progress percent="50" showInfo={false} />
</div>
, document.getElementById('components-progress-demo-line'));
var Progress = antd.Progress.Line;
React.render(
<div style={{ width: 170 }}>
<Progress percent="30" strokeWidth="5" />
<Progress percent="50" strokeWidth="5" status="active" />
<Progress percent="70" strokeWidth="5" status="exception" />
<Progress percent="100" strokeWidth="5" />
</div>
, document.getElementById('components-progress-demo-line-mini'));
var ProgressCircle = antd.Progress.Circle;
var MyProgress = React.createClass({
getInitialState() {
return {
percent: 0
};
},
increase() {
let percent = this.state.percent + 10;
if (percent > 100) {
percent = 100;
}
this.setState({ percent });
},
decline() {
let percent = this.state.percent - 10;
if (percent < 0) {
percent = 0;
}
this.setState({ percent });
},
render() {
return <div>
<ProgressCircle percent={this.state.percent} />
<div className="ant-btn-group">
<button className="ant-btn ant-btn-ghost" onClick={this.decline}>
<i className="anticon anticon-minus"></i>
</button>
<button className="ant-btn ant-btn-ghost" onClick={this.increase}>
<i className="anticon anticon-plus"></i>
</button>
</div>
</div>;
}
});
React.render(<MyProgress />, document.getElementById('components-progress-demo-circle-dynamic'));
var ProgressCircle = antd.Progress.Circle;
React.render(
<div>
<ProgressCircle percent="30" />
<ProgressCircle percent="70" status="exception" />
<ProgressCircle percent="100" />
</div>
, document.getElementById('components-progress-demo-circle'));
var ProgressCircle = antd.Progress.Circle;
React.render(
<div>
<ProgressCircle percent="30" width="80" />
<ProgressCircle percent="70" width="80" status="exception" />
<ProgressCircle percent="100" width="80" />
</div>
, document.getElementById('components-progress-demo-circle-mini'));
var Progress = antd.Progress.Line;
var MyProgress = React.createClass({
getInitialState() {
return {
percent: 0
};
},
increase() {
let percent = this.state.percent + 10;
if (percent > 100) {
percent = 100;
}
this.setState({ percent });
},
decline() {
let percent = this.state.percent - 10;
if (percent < 0) {
percent = 0;
}
this.setState({ percent });
},
render() {
return <div>
<Progress percent={this.state.percent} />
<div className="ant-btn-group">
<button className="ant-btn ant-btn-ghost" onClick={this.decline}>
<i className="anticon anticon-minus"></i>
</button>
<button className="ant-btn ant-btn-ghost" onClick={this.increase}>
<i className="anticon anticon-plus"></i>
</button>
</div>
</div>;
}
});
React.render(<MyProgress />, document.getElementById('components-progress-demo-dynamic'));