[英]How to close a modal when submit a form successfully?
我有一個彈出窗口。 當用戶第一次進入頁面時,會出現一個模式。
此模式有一個表格,需要填寫此表格。 當用戶填寫表格並進入不同的頁面時,模式沒有打開,也很好。 所以,我的模態工作非常好。 它會自動打開,用戶無法關閉它。 但這是問題所在,我也無法關閉它! 我想要的是當用戶發送表單並返回200 OK
時,模式將關閉。
我該怎么做?
let handleSubmit = async (e) => {
e.preventDefault();
try {
let res = await fetch(
process.env.REACT_APP_ENDPOINT + "user/me/contract",
{
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization: `Bearer ${localStorage.getItem(
"fray_access_token"
)}`,
},
body: JSON.stringify({
name: name,
surname: surname,
email: email,
}),
}
);
let resJson = await res.json();
if (res.status === 200) {
console.log("CLOSE THE MODAL IN HERE");
console.log("CLOSE THE MODAL IN HERE");
console.log("CLOSE THE MODAL IN HERE");
} else {
console.log("Some error occured");
}
} catch (err) {
console.log(err);
}
};
...
return(..
<Modal backdrop="static" isOpen={!modalOpen} size="lg" id="modal">
<ModalHeader>Hoşgeldiniz!</ModalHeader>
<ModalBody>
<Input
required
type="text"
value={name}
placeholder="İsim"
onChange={(e) => setName(e.target.value)}
/>
...
...
</ModalBody>
</Modal>
如果你的 state 是這樣的:
const [modalOpen, setModalOpen] = useState(false)
比你需要這樣做:
if (res.status === 200) {
setModalOpen(false)
} else {
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.