재조회했을 경우 resetPageNo prop에 따라 1페이지로 돌아가도록 수정

This commit is contained in:
YangJinSoo94
2025-04-14 14:28:53 +09:00
parent 0267ffb0d9
commit a5c3405049
@@ -12,6 +12,7 @@ type UiTableProps = {
cellClick : ((index:number|undefined, headId:string)=>void )| undefined;
onPageChange: (page: number) => void;
className?: string;
resetPageNo?: boolean;
}
type UiHeadProps = {
@@ -20,22 +21,27 @@ type UiHeadProps = {
align?: string;
}
export function UiTable({ tableData, headlist, pageSize, total, children, headName, cellClick, onPageChange, className = '' }: UiTableProps) {
export function UiTable({ tableData, headlist, pageSize, total, children, headName, cellClick, onPageChange, className = '', resetPageNo = false }: UiTableProps) {
const [cur, setCur] = useState<number>(1);
const [idx, setIdx] = useState<number>(-1);
useEffect(() => {
if (resetPageNo) {
setCur(1);
onPageChange(1);
}
}, [onPageChange, resetPageNo]);
const handlePageChange = (page: number) => {
setCur(page);
onPageChange(page);
}
const handleCellClick = (index: number,headId:string )=> {
if (cellClick) {
cellClick(index,headId);
setIdx(index);
}
};
return (
@@ -53,8 +59,8 @@ export function UiTable({ tableData, headlist, pageSize, total, children, headNa
</TableRow>}
</TableHeader>
<TableBody className='text-center'>
{tableData?.map((el: { [key: string]: any}, index) => (
<TableRow key={index + "row"} >
{tableData?.map((el: { [key: string]: string | number | boolean | object}, index) => (
<TableRow key={index + "row"}>
{headlist?.map((head) => (
<TableCell
className={`${head.align === 'right' ? 'text-right' : 'text-center'} ${
@@ -64,7 +70,7 @@ export function UiTable({ tableData, headlist, pageSize, total, children, headNa
onClick={() => handleCellClick(index, head.id)}
key={head.id + index}
>
{el[head.id]}
{String(el[head.id] ?? '')}
</TableCell>
))}
</TableRow>