Saya menggunakan Datagrid UI Bahan untuk memaparkan beberapa data. Salah satu lajur memaparkan pautan yang membuka URL dalam tab lain. Pada baris yang diklik saya ingin menavigasi ke halaman lain, tetapi apabila pautan diklik saya tidak mahu menavigasi ke halaman lain.
Saya hanya boleh melumpuhkan gelagat klik pautan pada keseluruhan sel, tetapi itu tidak sepenuhnya sesuai. Adakah anda tahu penyelesaian yang boleh menyekat onClick
内执行 onRowClicked
daripada pautan?
Contoh ringkas yang saya gunakan:
<DataGrid columns={[ { flex: 200, field: 'name', headerName: 'Naam' }, { flex: 250, field: 'url', headerName: 'Link', renderCell: (cell: GridCellParams) => ( <Box width="100%" overflow="scroll"> <Link href={cell.value} target="_blank" > Click here </Link> </Box> ), }, ]} onRowClicked={(row) => { navigate(Routes.OTHER_PAGE.replace(':id', row.id)) }} rows={rows} />
Tambah
onClick={(event) => event.stopPropagation()}
pada pautan untuk menyelesaikan masalah ini.