Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

rowExpandable does not work when dataSource has children field

Đang mở
#1,416 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

@nrps9909 đang làm issue này rồi.

Từ ngày 26/8/2026.

  • #1508 của @nrps9909 — đang mở

Đánh giá

Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức phù hợp với người mới
50/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Đình trệ
Công nghệ
react, typescript
Lĩnh vực
frontend

Hướng nghiên cứu

Bắt đầu từ điểm vào Table và theo dõi cách expandable.rowExpandable được xử lý khi các bản ghi bao gồm children. Tái hiện ví dụ với một mảng children có phần tử và một mảng rỗng, sau đó xác minh rằng chỉ hàng đầu tiên hiển thị biểu tượng mở rộng và rowExpandable được gọi trong chế độ cây.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

Description
When using rc-table with tree data structure (when dataSource contains children field), the rowExpandable configuration is completely ignored. This prevents developers from controlling which rows should be expandable based on custom logic.

Current Behavior
When dataSource contains children field, the table automatically enables tree mode

In tree mode, the presence of children field alone determines expandability, regardless of its content

Empty children arrays ([]) still show expand icons

The rowExpandable function is never called or its return value is ignored

Expected Behavior
rowExpandable should work consistently regardless of whether the table is in tree mode or not

Developers should be able to control expandability using custom logic even when children field exists

When rowExpandable returns false for a row, it should not show expand icon regardless of children field

import { Table } from 'rc-table';

const dataSource = [
  {
    key: '1',
    name: 'Parent 1',
    children: [
      { key: '1-1', name: 'Child 1-1' },
    ],
  },
  {
    key: '2',
    name: 'Parent 2',
    children: [], // Empty children - should not be expandable
  },
];

const columns = [
  {
    title: 'Name',
    dataIndex: 'name',
    key: 'name',
  },
];

const App = () => (
  <Table
    dataSource={dataSource}
    columns={columns}
    expandable={{
      // This is ignored because children field exists
      rowExpandable: (record) => 
        record.children && record.children.length > 0
    }}
  />
);

In this example, both rows show expand icons, but the second row should not be expandable since its children array is empty.

Ngôn ngữ chính
TypeScript
Star
1.4k
Fork
618
Merge trung bình
10 giờ 19 phút
Pull request đã merge (30 ngày)
2

Chuẩn bị môi trường

Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của react-component/table

Tất cả issue của react-component/table

Issue tương tự

Thêm issue về TypeScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.