gpt4 book ai didi

javascript - react setstate 不触发关闭 MUI 对话框

转载 作者:行者123 更新时间:2023-11-30 14:06:49 25 4
gpt4 key购买 nike

与提供的演示不同,我在 Material UI 中使用的对话框已在其自己的组件中设置 - https://material-ui.com/demos/dialogs/

我可以打开对话框,状态从 false 变为 true。我为关闭添加了一个 handleClose,它应该将状态设置回 false...但再次返回 true。谁能指出我在这里做错了什么?

https://codesandbox.io/s/zlmj2k3pom

this.state = {
open: false
};

state = {
open: false
};

handleClose = () => {
this.setState({ open: false });
};

最佳答案

您可以使用给定的 openonClose Prop ,而不是在 VehicleDialog 组件中复制 open 状态关闭模式。

示例

class VehicleDialog extends Component {
render() {
const { open, id, onClose } = this.props;

return (
<React.Fragment>
<Dialog aria-labelledby="customized-dialog-title" open={open}>
<DialogTitle id="customized-dialog-title">Modal title</DialogTitle>
<DialogContent>
<Typography gutterBottom>
Cras mattis consectetur purus sit amet fermentum. Cras justo odio,
dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta
ac consectetur ac, vestibulum at eros.
</Typography>
<Typography gutterBottom>
Praesent commodo cursus magna, vel scelerisque nisl consectetur
et. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor
auctor.
</Typography>
<Typography gutterBottom>
Aenean lacinia bibendum nulla sed consectetur. Praesent commodo
cursus magna, vel scelerisque nisl consectetur et. Donec sed odio
dui. Donec ullamcorper nulla non metus auctor fringilla.
</Typography>
</DialogContent>
<DialogActions>
<Button color="primary" onClick={() => onClose(id)}>
Close
</Button>
</DialogActions>
</Dialog>
</React.Fragment>
);
}
}

关于javascript - react setstate 不触发关闭 MUI 对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55219086/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com