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`.ц

Open
#9,676 1 comment 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.