ant-design / ant-design/pro-components
`ProTable` enters an infinite render loop and freezes the page when the `config` argument from `formItemRender` is spread into a `ProForm` component such as `ProFormSelect`.ц
- Dominant language
- TypeScript
- Stars
- 4.8k
- Forks
- 1.4k
- Avg merge
- 10h 44m
- Merged PRs (30d)
- 3
Description
"@ant-design/pro-components": "^3.1.14-6",
"antd": "^6.5.3"
### Minimal reproduction
```tsx
import {
ProFormSelect,
ProTable,
type ProColumns,
} from "@ant-design/pro-components";
const columns: ProColumns[] = [
{
title: "Type",
dataIndex: "type",
valueType: "select",
valueEnum: {
course: { text: "Course" },
test: { text: "Test" },
},
formItemRender(_, config) {
return (
);
},
},
];
export default function App() {
return ;
}
Contributor guide
Research direction
Start with the minimal reproduction in the issue and trace the ProTable formItemRender path, focusing on how its config is passed to ProFormSelect. Confirm that spreading config preserves multiple-select behavior without causing an infinite render loop or freezing the page.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- react, typescript
- Domain
- frontend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 70/100