[Feature Request]: Support for rendering custom React nodes as expanded row content in Table component
Maintainers usually reply within 2 days
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 38/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Quiet
- Tech stack
- react, typescript
- Domain
- frontend
Research direction
Start by reading the Table component's expandableRows API and its documentation and tests; the issue does not name specific files. Identify how expanded content is currently represented and rendered. Done means the Table can display arbitrary React nodes as a row's expanded content, with tests covering that behavior.
Written by the indexing model from the issue text.
Description
Description
Description:
Currently, the Table component's expandableRows API only supports rendering nested data as expanded rows, not arbitrary React nodes. In many use cases, it is necessary to display custom content (such as forms, charts, or complex layouts) when a row is expanded, rather than just additional table rows.
Use case:
We have a requirement to show rich, custom React content (not just nested table rows) when a user expands a row in the Table. For example, we may want to display a detailed panel, a form, or a summary card that spans the full width of the table. The current API does not support this, as the expanded content must be an array of items rendered as additional rows.
Benefit:
Supporting custom React nodes as expanded row content would make the Table component much more flexible and powerful, enabling a wider range of use cases without having to reimplement table features (sorting, selection, pagination, etc.) manually.
Request:
Please consider adding a prop or API to the Table component that allows developers to render arbitrary React nodes as the expanded content for a row, similar to how some other table libraries support expandable panels or detail rows.
Code of Conduct
- I agree to follow this project's Code of Conduct
- I checked the current issues for duplicate requests
- Dominant language
- TypeScript
- Stars
- 2.7k
- Forks
- 248
- Avg merge
- 3d 14h
- Merged PRs (30d)
- 83
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from cloudscape-design/components
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
cloudscape-design/components#5184 · 1 comment ·
Maintainers usually reply within 2 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
cloudscape-design/components#5152 · 1 comment ·
Maintainers usually reply within 2 days
-
enhancement
Difficulty 5/5 Over a week Newbie friendliness 15/100
cloudscape-design/components#5149 · 1 comment ·
Maintainers usually reply within 2 days
-
bug
Difficulty 4/5 3-5 days Newbie friendliness 45/100
cloudscape-design/components#5117 · 2 comments ·
Maintainers usually reply within 2 days
-
Difficulty 5/5 Over a week Newbie friendliness 35/100
cloudscape-design/components#5106 · 1 comment ·
Maintainers usually reply within 2 days
All issues in cloudscape-design/components
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
awesome-dsh-plugin/awesome-dsh-plugin#9184 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
farion1231/cc-switch#8829 ·
Maintainers usually reply within 1 day
-
[core-client] Remove unused hand-maintained transport helpers after the definition-table cutoverOpendoc-audit enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 85/100