gpt4 book ai didi

javascript - 执行操作后的复选框条件渲染 - ReactJS

转载 作者:行者123 更新时间:2023-11-29 18:38:27 27 4
gpt4 key购买 nike

为了点击我的复选框,我得到了文档/框 ID 和文档编号。像这样:

handleCheckboxClick = (e) => {
let parsedVal = JSON.parse(e.target.value);
let newDocList = { ...this.state.docList };
if (e.target.checked) {
newDocList[parsedVal.documentId] = parsedVal.documentNumber;
} else {
delete newDocList[parsedVal.documentId];
}
this.setState({
docList: newDocList,
}, () => {
console.log(this.state.docList)
});
};

之后,当我调用后端时,它会返回一个 pdf,我将其转换为 ZIP 文件,之后,我会自动为用户下载它们。除此之外,我还得到了带有下载文档 ID 的 JSON 响应。我的目标是在下载文档时禁用我的复选框。目前我有这个:

 .then((response) => {
this.setState({
downloadedIDS : response.data.downloadedIds
})

这是在 console.log 中输出的结果

enter image description here

此外,我的 Checkbox 是这样处理禁用的:

  <Checkbox disabled ={ downloadedIDS > 0 && true }
color='default'
value={JSON.stringify({documentId:rowData.documentId,documentNumber: rowData.documentNumber })}
onClick={this.handleCheckboxClick} />

我最终得到的结果是,无论是否选中,每个框都被禁用。所以我问自己我做错了什么?有人可以帮我吗?谢谢。

最佳答案

如果我正确理解你的情况,你可以这样做:-

<Checkbox disabled={downloadedIDS && downloadedIDS.indexOf(rowData.documentId) >= 0 ? true : false}
color='default'
value={JSON.stringify({documentId:rowData.documentId,documentNumber: rowData.documentNumber })}
onClick={this.handleCheckboxClick}
/>

关于javascript - 执行操作后的复选框条件渲染 - ReactJS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58910576/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com