路由跳转前提示——Prompt

应用场景:离开当前页面时,提示“是否离开”,“内容是否保存”,等


message

message: string
当用户试图离开某个位置时弹出的提示信息。
message: func
将在用户试图导航到下一个位置时调用。需要返回一个字符串以向用户显示提示,或者返回 true 以允许直接跳转。

 {
  const isApp = location.pathname.startsWith('/app');
  return isApp ? `你确定要跳转到${location.pathname}吗?` : true;
}} />

这里的 location 对象指的是下一个位置(即用户想要跳转到的位置)。可以基于它包含的一些信息,判断是否阻止导航,或者允许直接跳转

when: bool

在应用程序中,可以始终渲染 组件,并通过设置 when={true} 或 when={false} 以阻止或允许相应的导航,而不是根据某些条件来决定是否渲染 组件。

项目中的应用

编辑模式下,路由跳转前提示,信息尚未保存,并拒绝跳转

import { Prompt } from 'dva/router';

  {
    if (this.state.editReceiver) {
      Modal.warning({
          title: '您修改的信息尚未保存!',
      });
      return false;
    } else return true;
  }}
/>

你可能感兴趣的:(路由跳转前提示——Prompt)