--- 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). :::