这是我当前的代码
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>
);
}
}
map功能完成后会有大约20个按钮。
我想要实现的是:每次用户单击add to cart按钮时,我都会调用 ajax 来保存购物车并显示特定单击按钮的加载。ajax完成后,将状态恢复正常。
在我当前的代码中,我还没有进行 ajax 调用,我仍然想确保加载按钮在按下时工作。现在它不工作。
我怎样才能做到这一点?
谢谢。