ant-design / pro-components

🏆 Use Ant Design like a Pro!
https://pro-components.antdigital.dev
MIT License
4.29k stars 1.36k forks source link

🐛[BUG] ProTable树模式下,无法正常工作 #2893

Closed xykjlcx closed 3 years ago

xykjlcx commented 3 years ago

🐛 bug 描述

📷 复现步骤

🏞 期望结果

切换为Antd的Table后可以正常显示,但是修改ProTable为之前的版本仍然不能正常工作,不知道是哪边除了问题

💻 复现代码

import type { ProColumns } from '@ant-design/pro-table';
import ProTable from '@ant-design/pro-table';
import React from 'react';
import type { DeptListItemType } from '@/pages/system/dept/data';

const TreeTable = () => {
  const columns: ProColumns<DeptListItemType>[] = [
    {
      title: '部门名称',
      width: '60%',
      dataIndex: 'deptName',
    },
  ];

  const dataSource = [
    {
      id: 1,
      deptName: 'qwe',
    },
    {
      id: 2,
      deptName: 'ad',
      children: [
        {
          id: 22,
          deptName: '2222',
        },
        {
          id: 23,
          deptName: '232323',
        },
      ],
    },
    {
      id: 3,
      deptName: '111',
    },
  ];

  return (
    <>
      <ProTable<DeptListItemType> rowKey={'id'} columns={columns} dataSource={dataSource} />
    </>
  );
};

export default React.memo(TreeTable);

© 版本信息

 "dependencies": {
    "@ant-design/charts": "^1.1.4",
    "@ant-design/icons": "^4.5.0",
    "@ant-design/pro-card": "^1.13.1",
    "@ant-design/pro-descriptions": "^1.7.14",
    "@ant-design/pro-form": "^1.27.1",
    "@ant-design/pro-layout": "^6.19.0",
    "@ant-design/pro-table": "^2.30.8",
    "@umijs/hooks": "^1.9.3",
    "@umijs/route-utils": "^1.0.36",
    "antd": "^4.16.1",
    "classnames": "^2.2.6",
    "lodash": "^4.17.11",
    "moment": "^2.25.3",
    "omit.js": "^2.0.2",
    "react": "^17.0.0",
    "react-dev-inspector": "^1.1.1",
    "react-dom": "^17.0.0",
    "react-helmet-async": "^1.0.4",
    "umi": "^3.4.0",
    "umi-request": "^1.0.8"
  },

🚑 其他信息

Hikarien commented 3 years ago

2857 遇到了同样的问题

xykjlcx commented 3 years ago

@chenshuai2144

手动指定版本后恢复正常 antd:4.14.0 pro-table:2.30.8

但是pro-table的必须要升级啊,之前editTable的bug是后来发版本改掉的。

另外,还有一个问题,pro-table在tree模式下:

  1. 新增子节点后,列表无变化,必须手动整页刷新,才会显示新增的子节点
  2. 当前有子节点,增加兄弟节点没有问题;只有当前行初始没有子节点,新增子节点,children第一次有数据的时候,列表UI没有反应,新增的数据看不到,也没有+号显示
xykjlcx commented 3 years ago

2857 遇到了同样的问题

@Hikarien @chenshuai2144

找到了一个临时解决方案,估计问题也出在这里,可以先这样处理一下:

image

在TreeTable的首列自定义render,就恢复正常了

hooliy commented 3 years ago

不知何时起,就成这样了!

hooliy commented 3 years ago

2857 遇到了同样的问题

@Hikarien @chenshuai2144

找到了一个临时解决方案,估计问题也出在这里,可以先这样处理一下:

image

在TreeTable的首列自定义render,就恢复正常了

神奇的bug。加了render真的解决了!谢谢!

gaspire commented 3 years ago

遇到了同样的问题, 还希望能解决

chenshuai2144 commented 3 years ago

close by https://github.com/ant-design/pro-components/pull/2943