надеюсь, у тебя все хорошо! после успешного получения всех событий из базы данных и сохранения их в состоянии (опытах), как показано в коде. Теперь я пытаюсь получить текущий выбранный опыт при нажатии кнопки «Подтвердить» (чтобы обновить поле в этом текущем выбранном опыте), а затем удалить карту, в которой я нажал кнопку это код:
function Tables() {
const [experiences, setExperiences] = useState(null);
useEffect( () => {
const response = /*some code to get the experiences*/
setExperiences(response.experiences);
setIsPending(false);
},[experiences]);
function showConfirm(values) {
confirm({
title: 'Do you Want to Validate this Experience?',
content: 'Some descriptions',
onOk() {
console.info('Yes');
//await contract.methods.validateExperience("titrePoste", account[0]).send({ from: account[0] });
console.info(values.id);
},
onCancel() {
console.info('Cancel');
},
});
}
return (
<>
<Row gutter = {[24, 24]}>
{isPending && <div>Loading ... </div>}
{experiences && experiences.map((experience, index) => (
<div key = {experience.id} >
{
experience.valide
? <p></p>
: <Col span = {24} >
<Card className = "card-billing-info" bordered = "false">
<div className = "col-info">
<Descriptions title = {experience.titrePoste}>
<Descriptions.Item label = "Job Title" span = {3}>
{experience.titrePoste}
</Descriptions.Item>
<Descriptions.Item label = "Description" span = {3}>
{experience.description}
</Descriptions.Item>
</Descriptions>
</div>
<div className = "col-action">
<Button type = "link" danger onClick = {showDeleteConfirm}>
{deletebtn}DELETE
</Button>
<Button type = "link" onClick = {showConfirm}>
{<CheckOutlined />} VALIDATE
</Button>
</div>
</Card>
</Col>
}
</div>
))}
</Row>
</>
);
}```
Вы можете передать повторяющийся опыт функциям showConfirm или showDelete, например:
<Button type = "link" onClick = {() => showConfirm(experience, index)}>
<CheckOutlined /> VALIDATE
</Button>
с этим кликом в качестве параметра ваш будет values
, вы можете делать то, что хотите.
у вас будет кликнутый опыт и ее индекс, если это необходимо
спасибо большое все работает