坑:model打开的时候传递的数据是异步的
解决:在table上打开model的时候创建一个中间的状态;对真实数据进行传递
基本数据
table
{
title: '操作',
key: 'hand',
render: (_: any, row: any) => {
return (
<div className='btns'>
//获取当前行真实数据
<button onClick={() => showModal(row)}> 退款处理</button>
</div>
)
}
},
model
<Table columns={columns} dataSource={salesdata} loading={loading} pagination={Pagination} />
<Modal
open={isModalOpen}
//对真实数据当做参数进行传递
onOk={() => handleOk(middledata)}
onCancel={handleCancel}
</Modal>
处理:
//对话框打开
const showModal = (row: any) => {
setIsModalOpen(true);
//中间状态传递真实数据
setMiddledata(row)
};
//点击ok按钮获取真实数据
const handleOk = (middle: any) => {
console.log(row);
// console.log('middle', middle);
console.log(control);
//修改状态
service.StatusUpdata({ id: middle.id}).then((res) => {
console.log(res);
})
};