需求:
1. 获取每个用户的id
2. 获取每个用户的checked开关状态
3. 根据id checked发get请求更改用户状态
error
错误思路:
通过onChange获取checked,这个不需要参数,默认可获得
通过onClick获取这个用户的数据record,通过record.id获取id
在其中一个方法中get请求
结果:无法获取第一次更改状态的id和checked
原因:onClick是点击执行,onChange是变化执行。在其中一个函数内部获取另一个函数保存的数据时,获取不到,null。
success
正确思路:
只用onChange,通过箭头函数,传递record和checked。
在columns配置中注册:
onChange={(checked) => this.userStatus(record, checked)}
调用:
userStatus = (record, checked) => {};
userStatus = (record, checked) => {
// get请求
};
{
title: "状态",
dataIndex: "status",
render: (_, record, status) => (
<span>
<Switch
defaultChecked={status == 0 ? true : false}
onChange={(checked) => this.userStatus(record, checked)}
/>
</span>
),
},