import { SideSheet, Table, Dropdown, Tag } from '@douyinfe/semi-ui';
import React, { useMemo, useState, useCallback } from 'react';
export default function Demo(props = {}) {
const [visible, setVisible] = useState(false);
const dropdown = useMemo(
() => (
setVisible(true)}>Show SideSheet
)}
>
Hover Me
),
[]
);
const getContainer = useCallback(() => document.querySelector('.sidesheet-container'), []);
const sideSheet = useMemo(
() => (
// eslint-disable-next-line max-len
setVisible(false)}>
This is the content of a basic sidesheet.
Here is more content...
),
[visible]
);
const columns = useMemo(() => [
{
title: 'Name',
dataIndex: 'name',
render: text => {text},
width: 200,
fixed: 'left',
},
{
title: 'Age',
dataIndex: 'age',
},
{
title: 'Address',
dataIndex: 'address',
},
{
render: () =>
{dropdown}
,
width: 200,
fixed: 'right',
},
]);
const dataTotalSize = 46;
const data = useMemo(() => {
const _data = [];
for (let i = 0; i < dataTotalSize; i++) {
let age = (i * 1000) % 149 ;
let name = `Edward King ${i}`;
_data.push({
key: `${ i}`,
name,
age,
address: `London, Park Lane no. ${i} Lake Park`,
description: `My name is ${name}, I am ${age} years old, living in New York No. ${i + 1} Lake Park.`,
});
}
return _data;
}, [dataTotalSize]);
const scroll = useMemo(() => ({ y: 300 }), []);
return (
<>
{sideSheet}
>
);
}