reactPrompt 切换路由之前弹出拦截提示
Prompt 组件的逻辑
when为true,message方法return的变量为false的时候就会提示。message可以接受一个函数也可以接受一个字符串。- 两个关键点,需要弹出提示的话属性即:
when={true}message={() => { return false }}
至于具体的 message 什么时候 return true 什么时候 return false 是需要按照业务处理。
具体使用
在
JSX中增加组件,当切换路由的时候,visible的状态会导致要不要提示,在满足条件需要弹出的时候,visible要是true。例如:获取完数据之后,页面有数据的时候,切换路由是需要给出提示信息。先将
visible属性值设置为true,这样在有数据的时候,切换路由就会提示,message方法return的boolean值为判断是否弹窗的逻辑,这里的boolean为false就会提示。伪代码:
1 | |
防止踩坑的点:message 里的 return 一定要写在 Modal 的外边,这样在判断有数据的时候如果是 return false 就会自动弹出 Modal 拦截,如果是 return true 则不会提示。
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!