我是 ReactJS 的新手,目前我正在使用ant.design
我的界面,并且ant.design
我正在使用Switch Steps for Wizard 表单。单击时我想更改下一个按钮的样式。我是这个平台的新手,请指导我
谢谢
我是 ReactJS 的新手,目前我正在使用ant.design
我的界面,并且ant.design
我正在使用Switch Steps for Wizard 表单。单击时我想更改下一个按钮的样式。我是这个平台的新手,请指导我
谢谢
因此,要更改加载状态,您可以将文档中的示例修改为:
import { Steps, Button, message } from 'antd';
const Step = Steps.Step;
const steps = [{
title: 'First',
content: 'First-content',
}, {
title: 'Second',
content: 'Second-content',
}, {
title: 'Last',
content: 'Last-content',
}];
class App extends React.Component {
constructor(props) {
super(props);
this.state = {
current: 0,
loading: false
};
}
next() {
const current = this.state.current + 1;
this.setState({ current, loading: true });
}
prev() {
const current = this.state.current - 1;
this.setState({ current });
}
render() {
const { current, loading } = this.state;
return (
<div>
<Steps current={current}>
{steps.map(item => <Step key={item.title} title={item.title} />)}
</Steps>
<div className="steps-content">{steps[current].content}</div>
<div className="steps-action">
{
current < steps.length - 1
&& <Button type="primary" loading={loading} onClick={() => this.next()}>Next</Button>
}
{
current === steps.length - 1
&& <Button type="primary" loading={loading} onClick={() => message.success('Processing complete!')}>Done</Button>
}
{
current > 0
&& (
<Button loading={loading} style={{ marginLeft: 8 }} onClick={() => this.prev()}>
Previous
</Button>
)
}
</div>
</div>
);
}
}
这将导致按钮在单击下一步时进入加载状态。但是,您需要一些外部事件被馈送到组件中,以告诉它何时删除加载状态。
这可以通过this.prop
从父组件更改并componentWillReceiveProps
在您执行操作的位置中检测到的 a 来完成this.setState({loading:false})
,或者通过next()
调用一些异步方法来重置其回调中的加载状态。