pro-components
pro-components copied to clipboard
🐛[BUG] EditableTable.recordCreatorProps.record函数触发时机问题
🐛 bug 描述
EditableTable.recordCreatorProps.record函数会在按钮挂载的时候就预生成了要添加的行数据,并且后面每次点击按钮生成的行数据是在上一次按钮的时候的生成的,这点有点反直觉,是否考虑调整一下? 问题代码位置
🏞 期望结果
在点击按钮时才生成当前的行数据
💻 复现代码
export default () => {
const columns: ProColumns<DataSourceType>[] = [
{
title: "index",
dataIndex: "idx",
width: "30%",
editable: false,
},
{
title: "创建时间",
dataIndex: "created_at",
valueType: "dateTime",
renderText(text, record, index, action) {
return dayjs(text).format("YYYY-MM-DD HH:mm:ss");
},
editable: false,
},
];
return (
<EditableProTable<DataSourceType>
rowKey="id"
recordCreatorProps={{
newRecordType: "dataSource",
record: (idx) => {
const newRecord = {
idx,
id: (Math.random() * 1000000).toFixed(0),
created_at: dayjs().valueOf(),
};
console.log(`generate ${idx} row data:`, newRecord);
return newRecord;
},
}}
columns={columns}
editable={{
type: "multiple",
}}
/>
);
};
© 版本信息
- ProComponents 版本: 2.6.49
截图
确实,我也发现这个问题了,感觉反人类,当我需要根据最新的数据,生成新增的一行数据时,就会出现问题! 而且每次新增一行,record方法都会触发两次!