确认框反应js后调用保存功能
call save function after the confirmation box react js
我使用下面的弹出窗口作为确认消息。目前,弹出窗口 window 正在使用 'Yes'、'No' 按钮正确加载。如果用户点击确认'YES'按钮,我需要保存数据,如果点击'NO'我需要关闭弹出窗口window。请检查我的文件。
我的模态框
import { Button, Modal} from "react-bootstrap";
function SaveConfirmationModal(props) {
return (
<div>
<Modal {...props} size="lg">
<Modal.Header closeButton>
<Modal.Title id="contained-modal-title-vcenter">
do u want to save ?
</Modal.Title>
</Modal.Header>
<Modal.Body>
<button onClick={props.onYes}>YEs </button>
<button onClick={props.onNo}>No</button>
</Modal.Body>
</Modal>
</div>
);
}
export default SaveConfirmationModal;
我在发票表格中调用此模式。当用户点击保存按钮时。这个确认显示。目前,它正在运行。
Invoice.js 文件-保存功能
import SaveConfirmationModal from "components/createinvoice/SaveConfirmationModal";
const [showModal, setShowModal] = useState(false);
const saveInvoice = (data) => {
setShowModal(true);
//in here i need to check user click yes or no button
if(yes){
httpPost(SAVE_INVOICE,data, header)
.then((response) => {
if (response.status === 200) {
toast.success('Successfully Saved', {position: toast.POSITION.TOP_RIGHT})
}
})
}
}
else{
setShowModal(false);
}
根据我的要求,我需要检查用户在 saveInvoice 函数中点击是或否。
我如何在函数内部检查它。
您需要创建 2 个函数,一个用于点击,另一个用于不点击。
const [data, setData] = useState();
const saveInvoice = (data) => {
setShowModal(true);
setData(data);
}
const onYes = (event) => {
httpPost(SAVE_INVOICE, data, header).then((response) => {
if (response.status === 200) {
toast.success('Successfully Saved', {position: toast.POSITION.TOP_RIGHT})
}
setShowModal(false);
setData(null);
})
}
const onNo = (event) => {
setShowModal(false);
setData(null);
}
return (
...
{
showModal && (
<Modal onYes={onYes} onNo={onNo} />
)
}
...
)
如果需要,您可以 show/hide 仅设置 data
变量的模式。
const [data, setData] = useState();
const saveInvoice = (data) => {
setData(data);
}
const onYes = (event) => {
httpPost(SAVE_INVOICE, data, header).then((response) => {
if (response.status === 200) {
toast.success('Successfully Saved', {position: toast.POSITION.TOP_RIGHT})
}
setData(null);
})
}
const onNo = (event) => {
setData(null);
}
return (
...
{
data && (
<Modal onYes={onYes} onNo={onNo} />
)
}
...
)
我使用下面的弹出窗口作为确认消息。目前,弹出窗口 window 正在使用 'Yes'、'No' 按钮正确加载。如果用户点击确认'YES'按钮,我需要保存数据,如果点击'NO'我需要关闭弹出窗口window。请检查我的文件。
我的模态框
import { Button, Modal} from "react-bootstrap";
function SaveConfirmationModal(props) {
return (
<div>
<Modal {...props} size="lg">
<Modal.Header closeButton>
<Modal.Title id="contained-modal-title-vcenter">
do u want to save ?
</Modal.Title>
</Modal.Header>
<Modal.Body>
<button onClick={props.onYes}>YEs </button>
<button onClick={props.onNo}>No</button>
</Modal.Body>
</Modal>
</div>
);
}
export default SaveConfirmationModal;
我在发票表格中调用此模式。当用户点击保存按钮时。这个确认显示。目前,它正在运行。
Invoice.js 文件-保存功能
import SaveConfirmationModal from "components/createinvoice/SaveConfirmationModal";
const [showModal, setShowModal] = useState(false);
const saveInvoice = (data) => {
setShowModal(true);
//in here i need to check user click yes or no button
if(yes){
httpPost(SAVE_INVOICE,data, header)
.then((response) => {
if (response.status === 200) {
toast.success('Successfully Saved', {position: toast.POSITION.TOP_RIGHT})
}
})
}
}
else{
setShowModal(false);
}
根据我的要求,我需要检查用户在 saveInvoice 函数中点击是或否。
我如何在函数内部检查它。
您需要创建 2 个函数,一个用于点击,另一个用于不点击。
const [data, setData] = useState();
const saveInvoice = (data) => {
setShowModal(true);
setData(data);
}
const onYes = (event) => {
httpPost(SAVE_INVOICE, data, header).then((response) => {
if (response.status === 200) {
toast.success('Successfully Saved', {position: toast.POSITION.TOP_RIGHT})
}
setShowModal(false);
setData(null);
})
}
const onNo = (event) => {
setShowModal(false);
setData(null);
}
return (
...
{
showModal && (
<Modal onYes={onYes} onNo={onNo} />
)
}
...
)
如果需要,您可以 show/hide 仅设置 data
变量的模式。
const [data, setData] = useState();
const saveInvoice = (data) => {
setData(data);
}
const onYes = (event) => {
httpPost(SAVE_INVOICE, data, header).then((response) => {
if (response.status === 200) {
toast.success('Successfully Saved', {position: toast.POSITION.TOP_RIGHT})
}
setData(null);
})
}
const onNo = (event) => {
setData(null);
}
return (
...
{
data && (
<Modal onYes={onYes} onNo={onNo} />
)
}
...
)