After selecting a row from the datagrid, I am trying to access each of the cell values of that row. However, I always get "undefined" when doing selectedRowData.email
. What is the correct way of accessing a selected row's cell data?
<DataGrid
checkboxSelection
rows={adminData}
columns={columns}
getRowId={(row) => row._id}
slots={{ toolbar: CustomToolbar }}
onRowSelectionModelChange={(id) => {
const selectedIDs = new Set(id);
const selectedRowData = adminData.filter((row) =>
selectedIDs.has(row._id)
);
console.log(selectedRowData); //prints object
console.log(selectedRowData.email); //undefined }} />
selectedRowData is an array. You need to loop through it.
Replace this part of your code
onRowSelectionModelChange={(id) => {
const selectedIDs = new Set(id);
const selectedRowData = adminData.filter((row) =>
selectedIDs.has(row._id)
);
console.log(selectedRowData); //prints object
console.log(selectedRowData.email); //undefined }} /
with
onRowSelectionModelChange={(id) => {
const selectedIDs = new Set(id);
const selectedRowData = adminData.filter((row) =>
selectedIDs.has(row._id)
);
selectedRowData.forEach((eachItem)=> {
console.log(eachItem.email);
});
console.log(selectedRowData); //prints object