// material-ui import * as React from 'react'; import { DataGrid, GridActionsCellItem, GridRowModes } from "@mui/x-data-grid"; import RemoveCircleOutlineIcon from '@mui/icons-material/RemoveCircleOutline'; import {useEffect} from "react"; // import {useNavigate} from "react-router-dom"; // import { useTheme } from '@mui/material/styles'; import { Box, Stack } from '@mui/material'; // ==============================|| EVENT TABLE ||============================== // export default function UploadFileTable({recordList, setUpdateRows,}) { const [rows, setRows] = React.useState(recordList); const [rowModesModel,setRowModesModel] = React.useState({}); // const theme = useTheme(); // const navigate = useNavigate() useEffect(() => { setRows(recordList); // console.log(disableDelete); }, [recordList]); function NoRowsOverlay() { return ( 沒有上傳檔案 {/*
(rows={[]})
*/}
); } const handleCancelClick = (id) => () => { setRowModesModel({ ...rowModesModel, [id]: { mode: GridRowModes.View, ignoreModifications: true }, }); console.log("Starting Delete") const editedRow = rows.find((row) => row.id === id); console.log(editedRow) console.log(editedRow.isNew) setUpdateRows(rows.filter((row) => row.id !== id)); setRows(rows.filter((row) => row.id !== id)); } const columns = [ { field: 'actions', type: 'actions', headerName: '', width: 30, cellClassName: 'actions', // hide:true, getActions: ({id}) => { return [ } label="delete" className="textPrimary" onClick={handleCancelClick(id)} color="error" />] }, }, { id: 'name', field: 'name', headerName: '檔案名稱', flex: 1, }, { id: 'size', field: 'size', headerName: '檔案大小', valueGetter: (params) => { // console.log(params) return Math.ceil(params.value/1024)+" KB"; }, flex: 1, }, ]; return ( ); }