javascript - 如何使用onClick事件获取json中id的数据
问题描述
我正在使用 axios 让我的 api 显示其中的一些数据。这工作正常。当我单击“TableRow”时,我想获取每个值并显示返回的数据
我想像这样获取 id 并使用 axios api。
const toDetails = (e) => {
e.preventDefault();
const getDetails = async () => {
const response = await axios.get(`api/firstmemory/${id}`);
setUserData(response.data.data);
}
getDetails();
}
内部回报
return(
<TableContainer component={Paper}>
<Table className={classes.table}>
<TableHead>
<TableRow>
<TableCell>things</TableCell>
<TableCell >date</TableCell>
</TableRow>
</TableHead>
<TableBody>
{userData.map((row,index) => (
<TableRow key={index}>
<TableCell>{row.first}</TableCell>
<TableCell>{row.date}</TableCell>
</TableRow>
))}
</TableBody>
</Table>
</TableContainer>
);
谁能帮我解决这个问题?谢谢你。
解决方案
您可以添加onClick
处理对行的单击和data-id
属性以存储行上的 id 值。
<TableRow key={index} onClick={handleRowClick} data-id={row.id}>
<TableCell>{row.first}</TableCell>
<TableCell>{row.date}</TableCell>
</TableRow>
然后你可以在点击处理程序中读取 data-id 属性的值
function handleRowClick(e) {
let id = e.currentTarget.getAttribute('data-id')
// Your axios code here
}
推荐阅读
- autohotkey - ControlSend 不发送到非最顶层窗口
- jenkins - 如何为 groovy.io.FileType 文件批准 Jenkins 脚本化管道 RejectedAccessException?
- python-3.x - 我收到以下导入错误,尽管我安装了 numpy
- python - 如何使用“scipy.optimize.curve_fit”平滑拟合我的数据点?
- android - 如何修复 vmlinux.o 错误和交叉编译错误
- vue.js - vue:你可能需要一个合适的加载器来处理这个文件类型
- java - 如何正确编写扩展功能而不是导入语句?
- batch-file - 批量将文件移动到不包括父目录的子目录中
- java - 如何将字符串添加到 TextView / ScrollView?
- scikit-learn - ScikitLearn 的 MLPClasssifier 在输出层使用什么样的激活?