描述:
用Ant Deisgn Table组件修改行值时,使用useState 数据没渲染出来
解决办法:
import React, {useState} from 'react';
const TableListExample = props => { const [tableList, setTableList] = useState([]);
const onSortChange=(e,record)=>{
if(!e.target.value){
message.error("请输入");
return;
};
tableList.map(item=>{
if(item.id==record.id){
item.sort=e.target.value;
}
});
//重点 重新赋值就可以渲染出来数据了
let list=[...tableList];
setTableList(list);
}
const columns=[
{
title: '姓名',
key:'name',
dataIndex:'name',
},
{
title: '排序',
key:'sort',
dataIndex:'sort',
render:(text,record)=><Input value={text} type="number" name="sort" maxLength={2} onChange={e=>onSortChange(e,record)}/>,
},
]
return ( <Table rowKey="id" dataSource={[id:1,name:"小红",sort:1]} columns={columns} /> ); };