You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
36 lines
817 B
36 lines
817 B
import { Button, Modal } from 'antd';
|
|
import React from 'react';
|
|
|
|
const App: React.FC = () => {
|
|
const [modal, contextHolder] = Modal.useModal();
|
|
|
|
const countDown = () => {
|
|
let secondsToGo = 5;
|
|
|
|
const instance = modal.success({
|
|
title: 'This is a notification message',
|
|
content: `This modal will be destroyed after ${secondsToGo} second.`,
|
|
});
|
|
|
|
const timer = setInterval(() => {
|
|
secondsToGo -= 1;
|
|
instance.update({
|
|
content: `This modal will be destroyed after ${secondsToGo} second.`,
|
|
});
|
|
}, 1000);
|
|
|
|
setTimeout(() => {
|
|
clearInterval(timer);
|
|
instance.destroy();
|
|
}, secondsToGo * 1000);
|
|
};
|
|
|
|
return (
|
|
<>
|
|
<Button onClick={countDown}>Open modal to close in 5s</Button>
|
|
{contextHolder}
|
|
</>
|
|
);
|
|
};
|
|
|
|
export default App;
|
|
|