MUIDatatable всегда получает последнее значение в поле id , не имеет значения, по какому индексу вы щелкнули. Возможно, это ошибка в MUIDatatable. Но я найду альтернативное решение для вас. Вам нужно обработать onRowClick, как показано ниже:
const options = {
filterType: 'dropdown',
responsive: 'scrollFullHeight',
serverSide: true,
count: total,
page: page,
searchText: tableState.options.searchText,
onRowClick: handleRowClick
}
Затем вы сохраняете Id, используя следующий код (services - это набор данных, который заполняется в MUIDatatable). Я использовал UseState для хранения идентификатора:
const [serviceId, setServiceId] = useState(0);
const handleRowClick = (rowData, rowMeta) => {
setServiceId(services[rowMeta.dataIndex].id);
};
Тогда в вашей функции openFilePreviewDialog вы можете использовать этот идентификатор:
function openFilePreviewDialog(id) {
console.log(serviceId, 'serviceRequestId');
}