---
title: UnsavedChangesModal
sidebar_label: UnsavedChangesModal
---
import { StoryWithControls } from '../../../src/components/StorybookWrapper';
# UnsavedChangesModal
The UnsavedChangesModal component from Superset's UI library.
## Live Example
## Try It
Edit the code below to experiment with the component:
```tsx live
function Demo() {
const [show, setShow] = React.useState(false);
return (
setShow(false)}
handleSave={() => { alert('Saved!'); setShow(false); }}
onConfirmNavigation={() => { alert('Discarded changes'); setShow(false); }}
title="Unsaved Changes"
>
If you don't save, changes will be lost.
);
}
```
## Custom Title
```tsx live
function CustomTitle() {
const [show, setShow] = React.useState(false);
return (
setShow(false)}
handleSave={() => setShow(false)}
onConfirmNavigation={() => setShow(false)}
title="You have unsaved dashboard changes"
>
Your dashboard layout and filter changes have not been saved.
Do you want to save before leaving?
);
}
```
## Props
| Prop | Type | Default | Description |
|------|------|---------|-------------|
| `showModal` | `boolean` | `false` | Whether the modal is visible. |
| `title` | `string` | `"Unsaved Changes"` | Title text displayed in the modal header. |
## Import
```tsx
import { UnsavedChangesModal } from '@superset/components';
```
---
:::tip[Improve this page]
This documentation is auto-generated from the component's Storybook story.
Help improve it by [editing the story file](https://github.com/apache/superset/edit/master/superset-frontend/packages/superset-ui-core/src/components/UnsavedChangesModal/UnsavedChangesModal.stories.tsx).
:::