在Windows / Tab上反应关闭不显示对话框

时间:2019-04-01 17:05:55

标签: reactjs typescript addeventlistener dom-events

当用户使用打字稿关闭React中的窗口(或选项卡)时,我试图显示一个对话框。

我了解到我们无法覆盖默认对话框。可以,但是对我来说,默认对话框也不会出现。

如果我在Chrome中调试react应用,则逐步执行时会显示该消息。如果不在调试中,则不显示该消息,并且页面已关闭。 在互联网上尝试了许多示例,但没有一个对我有用。 这是我最后的尝试,如前所述。 有想法吗?

interface IProsp{}
interface Istate{}

class ExtrasDesktop extends React.Component<IPros, IState>
{
    componentDidMount()
    {
        window.addEventListener('beforeunload', this.keepOnPage);
    }
    componentWillUnmount()
    {
        window.removeEventListener('beforeunload', this.keepOnPage);
    }

    keepOnPage = (e: BeforeUnloadEvent): any =>
    {
        e.preventDefault();
        const message = 'Some message';
        e.returnValue = message;
        return message;
    }

    render()
    {}
}

0 个答案:

没有答案