react+antd+Table里切换Switch改变状态onChange 传参
在React中使用Ant Design的Table组件,并且在Table的每一行都有一个Switch组件来切换状态,你可以在Switch的onChange
事件中传递必要的参数。以下是一个简单的例子:
import React, { useState } from 'react';
import { Table, Switch } from 'antd';
const data = [
{
key: '1',
name: 'John Brown',
age: 32,
status: false,
},
// ...更多数据
];
const App = () => {
const [dataSource, setDataSource] = useState(data);
const toggleStatus = (key, checked) => {
setDataSource(dataSource.map(item => {
if (item.key === key) {
return { ...item, status: checked };
}
return item;
}));
};
const columns = [
// ...其他列
{
title: 'Status',
dataIndex: 'status',
key: 'status',
render: (text, record) => (
<Switch
checked={text}
onChange={checked => toggleStatus(record.key, checked)}
/>
),
},
];
return (
<Table
dataSource={dataSource}
columns={columns}
rowKey="key"
/>
);
};
export default App;
在这个例子中,每当Switch的状态改变时,toggleStatus
函数就会被调用,并且会传递当前行的key
和新的状态checked
。然后,使用setDataSource
更新数据源,并重新渲染Table。这样,每行的Switch状态变化都会更新数据源中对应行的状态,并且Table会相应地重新渲染。
评论已关闭