这里是我当前的代码反应 - 设置加载状态只在特定的点击按钮
class cart extends Component {
state = { loading: [] };
addToCart = (e, id) => {
let loading = this.state.loading.slice();
loading[e] = true;
this.setState({
loading,
})
};
render() {
const { data } = this.props;
return (
<div>
{data.map(catering => {
const { menus } = catering;
return (
<Row>
{menus.map(menu => (
<Col xs={12} md={12} lg={6} key={menu.id} className="m-bottom-15">
<Card style={{ height: '165px', border: 0, overflow: 'hidden' }}>
<CardActions>
<LoadingButton
className="button small primary pull-right"
loading={thi.state.loading || false}
onClick={e => this.addToCart(e, menu.id)}
>
<MdAdd size={18} color={white} />
<span className="font-14 font-400">Add to cart</span>
</LoadingButton>
</CardActions>
</Card>
</Col>
))}
</Row>
);
}
}
将有大约20个按钮时map
功能完成。
我想实现的是:每次用户点击add to cart
按钮时,我都会调用ajax来保存购物车并显示特定点击按钮的加载。 ajax完成后,将状态恢复正常。
在我目前的代码,我还没有把我的ajax调用,但我仍然要确保加载按钮的工作按下。现在它不工作。
我该如何做到这一点?
谢谢。
的伟大工程!谢谢 – ssuhat