久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合

站長資訊網
最全最豐富的資訊網站

react怎么實現路由跳轉前確認

react實現路由跳轉前確認功能的方法:1、通過“import { Modal } from 'antd';”方法引入“antd”;2、使用Antd的“Modal.confirm”實現彈框;3、設置Form表單內容即可。

react怎么實現路由跳轉前確認

本教程操作環境:Windows10系統、react18.0.0版、Dell G3電腦。

react怎么實現路由跳轉前確認?

react-router 跳轉前確認Prompt使用

需求

頁面切換的時候,會遇到這樣的需求:切換時需要判斷內容區域編輯后是否保存了, 若沒保存,則彈出提示框,提示保存。

react怎么實現路由跳轉前確認

官網示例

react router中的Prompt可以實現這樣的功能。

Prompt示例:https://reactrouter.com/web/example/preventing-transitions Prompt文檔:https://reactrouter.com/core/api/Prompt
登錄后復制

/** when:是否啟用 */ /** message:string | func */ // 示例1 <Prompt   when={formIsHalfFilledOut}   message="Are you sure you want to leave?" /> // 示例2 <Prompt   message={(location, action) => {     if (action === 'POP') {       console.log("Backing up...")     }     return location.pathname.startsWith("/app")       ? true       : `Are you sure you want to go to ${location.pathname}?`   }} />
登錄后復制

實現

我們項目的技術棧umi+antd+react

彈框用的Antd的 Modal.confirm

import React, { useEffect, useState } from 'react'; import { Modal } from 'antd'; import { useBoolean } from '@umijs/hooks'; // umi里封裝了該組件 // 或者 import { Prompt } from "react-router-dom"; import { useParams, history, Prompt } from 'umi'; import {   ExclamationCircleOutlined } from '@ant-design/icons'; import {  isEqual } from '@/utils/utils'; import { FormInstance } from 'antd/lib/form'; export default function BaseInfo() {   const { id } = useParams<{ id: string }>();    // 保留原始數據   const [orginData, setOrigin] = useState({});   // 修改后的數據   const [modifyData, setModify] = useState({});   // 是否啟用Prompt   const { state, setTrue, setFalse } = useBoolean(false);   // 還原信息 useLoading是自己封裝的hooks   const [isFetching, fetchInfo] = useLoading(getServiceGroupDetail);   useEffect(() => {     (async () => {       try {         if (id !== '0') {           const info = await fetchInfo(id);           setOrigin({             ...info            });           setModify({             ...info            });                   }       } catch (e) {         console.error(e);       }     })();   }, [id]);   useEffect(() => {     if (isEqual(orginData, modifyData)) {       setFalse();     } else {       setTrue();     }   }, [orginData, modifyData]);   const nextStep = (pathname?: string) => {     setFalse();     pathname &&       setTimeout(() => {         history.push(pathname);       });   };   return (       {/* 這里原來放的Form表單內容 */}       {routerWillLeave(state, form, nextStep)}   ); } function routerWillLeave(   isPrompt: boolean | undefined,   formInstance: FormInstance, // 保存,我這個頁面是Form表單   nextStep: (pathname?: string) => void ) {   return (     <div>       <Prompt         when={isPrompt}         message={(location) => {           if (!isPrompt) {             return true;           }           Modal.confirm({             icon: <ExclamationCircleOutlined />,             content: '暫未保存您所做的更改,是否保存?',             okText: '保存',             cancelText: '不保存',             onOk() {               formInstance?.submit();               nextStep(location.pathname);             },             onCancel() {               nextStep(location.pathname);             }           });           return false;         }}       />     </div>   ); }
登錄后復制

推薦學習:《react視頻教程》

贊(0)
分享到: 更多 (0)
?
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合
日韩高清欧美激情| 国产中文欧美日韩在线| 久久婷婷久久| 欧美日韩高清| 一本一道久久a久久精品蜜桃| 尤物在线精品| 99香蕉国产精品偷在线观看| 亚洲在线观看| 91成人在线| 欧美激情视频一区二区三区在线播放| 欧美激情麻豆| 亚洲不卡av不卡一区二区| aⅴ色国产欧美| 国产精品最新自拍| 欧美成a人国产精品高清乱码在线观看片在线观看久 | 精品视频自拍| 麻豆精品蜜桃| 蜜臀av一区二区在线免费观看| 青青青国产精品| 最近高清中文在线字幕在线观看1| 激情婷婷亚洲| 亚洲精品国产精品粉嫩| 你懂的国产精品| 蜜桃成人av| 国产伦理一区| 91成人精品| 欧美三级第一页| 国产精品99在线观看| 亚洲综合国产| 亚洲黄色免费看| 亚洲欧洲国产精品一区| 国产一区二区三区黄网站| 亚洲欧美日韩专区| 国产一区二区三区探花| 免费美女久久99| 国产一区二区三区四区五区| 国产亚洲一级| 开心激情综合| 男女性色大片免费观看一区二区 | 91亚洲无吗| 激情欧美丁香| 国产精品99久久免费| 尤物精品在线| 中文一区一区三区高中清不卡免费| 亚洲一区二区三区高清不卡| 日韩成人精品一区二区| 日韩不卡手机在线v区| 国产在线|日韩| 欧美黄页在线免费观看 | 97视频热人人精品免费| 天堂va在线高清一区| 日韩中文在线电影| 国产无遮挡裸体免费久久| 亚洲精品小说| 日韩福利一区| 国产视频一区二| 麻豆9191精品国产| 成人精品中文字幕| 国产精品久久久一区二区| 人人爽香蕉精品| 激情综合自拍| 日韩中文在线电影| 国产精品mv在线观看| 亚洲区第一页| 欧美一区=区| 蜜臀久久99精品久久一区二区| 成人午夜网址| 欧美韩一区二区| 国产欧美日韩精品一区二区免费 | 国产精品久久久一区二区| 亚洲丝袜美腿一区| 自拍日韩欧美| 99热国内精品| 日本久久精品| 久久字幕精品一区| 久久精品xxxxx| 日本久久二区| 日韩视频1区| 综合欧美亚洲| 热久久国产精品| 美日韩精品视频| 日韩一级精品| 国产日韩专区| 免费的成人av| 亚洲ww精品| 日韩高清不卡一区| 久久国际精品| 国产精品22p| 国产极品一区| 麻豆精品在线播放| 久久亚洲精精品中文字幕| 国产精品啊v在线| 久久99偷拍| 国产一区二区三区天码| yellow在线观看网址| 亚洲一级少妇| 91成人超碰| 老鸭窝毛片一区二区三区| 麻豆91精品| 日韩高清一级| 国产精品.xx视频.xxtv| 国产一区二区三区不卡av| 精品国产免费人成网站| 中文字幕人成乱码在线观看| 日韩欧美1区| 欧美粗暴jizz性欧美20| 视频一区二区中文字幕| 免费久久精品视频| 日本精品在线播放| 久久精品国产亚洲一区二区三区| 久久精品国产99国产| 黑人精品一区| 国产精品色网| 国产日产高清欧美一区二区三区| 久久精品九色| 欧美1级日本1级| 亚洲精品国模| 精品国产a一区二区三区v免费| 视频在线不卡免费观看| 亚洲91久久| 亚洲精品女人| 麻豆精品少妇| 久久青草久久| 亚洲人亚洲人色久| 精品一区二区三区中文字幕视频 | 国产精品va| 久久精品高清| 日精品一区二区三区| 国产一区精品福利| 国产一区二区精品| 日本va欧美va精品发布| 日韩av在线播放网址| 亚洲综合另类| 久久精品一区二区三区中文字幕| 久久精品国语| 97精品资源在线观看| 午夜精品成人av| 日韩午夜视频在线| 精品亚洲美女网站| 日韩精品免费视频人成| 国产精品不卡| 亚洲综合福利| 色婷婷精品视频| 日韩1区2区日韩1区2区| 亚洲播播91| 青青草伊人久久| 999精品色在线播放| 国产日韩一区二区三区在线播放| 久久九九精品| 国产精品美女午夜爽爽| 国产日韩综合| 特黄毛片在线观看| 91九色综合| 国产亚洲精品v| 日本蜜桃在线观看视频| 日本强好片久久久久久aaa| 久久美女性网| 久久一区欧美| 日韩精品视频在线看| 亚洲先锋成人| 久久99久久久精品欧美| 日韩一区欧美二区| 国产一区视频在线观看免费| 另类欧美日韩国产在线| 日韩精品一级二级 | 狠狠躁少妇一区二区三区| 日韩和欧美一区二区三区| 免费视频一区三区| 国语对白精品一区二区| 日韩精品导航| 免费视频久久| 国产综合欧美| 成人日韩av| 国产精品主播| 午夜在线观看免费一区| 亚洲伊人av| 老司机免费视频一区二区三区| 亚洲精品日本| 美女被久久久| aⅴ色国产欧美| 激情五月综合网| 国产综合色区在线观看| 日韩av在线播放网址| 久久影院一区二区三区| 国产图片一区| 久久精品 人人爱| 日韩国产精品久久久久久亚洲| 亚洲色图网站| 免费在线看一区| 亚洲精品网址| 136国产福利精品导航网址| 亚洲一级少妇| 日韩大片免费观看| 日韩综合在线| 久草免费在线视频| 女生影院久久| 91精品在线观看国产| 亚洲a一区二区三区| 色偷偷偷在线视频播放| zzzwww在线看片免费|