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.
60 lines
1.8 KiB
60 lines
1.8 KiB
import React, { useState } from 'react';
|
|
import type { StepsProps } from 'antd';
|
|
import { Button, Steps, Space } from 'antd';
|
|
|
|
const App: React.FC = () => {
|
|
const [percent, setPercentage] = useState<number | undefined>(0);
|
|
const [current, setCurrent] = useState(1);
|
|
const [status, setStatus] = useState<StepsProps['status']>('process');
|
|
const description = 'This is a description.';
|
|
const items = [
|
|
{
|
|
title: 'Finished',
|
|
description,
|
|
},
|
|
{
|
|
title: 'In Progress',
|
|
subTitle: 'Left 00:00:08',
|
|
description,
|
|
},
|
|
{
|
|
title: 'Waiting',
|
|
description,
|
|
},
|
|
];
|
|
return (
|
|
<>
|
|
<Space.Compact block>
|
|
<Button onClick={() => setPercentage(undefined)}>Percentage to undefined</Button>
|
|
<Button onClick={() => setPercentage((prev) => ((prev ?? 0) + 10) % 100)}>
|
|
Percentage +
|
|
</Button>
|
|
<Button onClick={() => setCurrent((prev) => (prev + 1) % 3)}>Current +</Button>
|
|
<Button onClick={() => setStatus('wait')}>Status Wait</Button>
|
|
<Button onClick={() => setStatus('process')}>Status Process</Button>
|
|
<Button onClick={() => setStatus('finish')}>Status Finish</Button>
|
|
<Button onClick={() => setStatus('error')}>Status Error</Button>
|
|
</Space.Compact>
|
|
<br />
|
|
<Steps current={current} percent={percent} status={status} items={items} />
|
|
<Steps current={current} percent={percent} status={status} size="small" items={items} />
|
|
<Steps
|
|
current={current}
|
|
percent={percent}
|
|
status={status}
|
|
direction="vertical"
|
|
items={items}
|
|
/>
|
|
<Steps
|
|
current={current}
|
|
percent={percent}
|
|
status={status}
|
|
size="small"
|
|
direction="vertical"
|
|
items={items}
|
|
/>
|
|
</>
|
|
);
|
|
};
|
|
|
|
export default App;
|
|
|