ant-design / pro-components

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

🐛[BUG] Protable 设置 defaultColsNumber 时搜索控件被异常隐藏 #8563

Open Lemonnnnnnnnnnn opened 1 month ago

Lemonnnnnnnnnnn commented 1 month ago

提问前先看看:

https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way/blob/main/README-zh_CN.md

🐛 bug 描述

当设置 defaultColsNumber 等于控件数量时,columns 数组的最后一个元素无法被展示出来

📷 复现步骤

Screenshot from 2024-07-13 11-43-41

🏞 期望结果

Screenshot from 2024-07-13 11-44-08

💻 复现代码

import { ProTable } from "@ant-design/pro-components";

function App() {
  return (
    <ProTable
      columns={[
        {
          title: "name",
          dataIndex: "name",
        },
        {
          title: "age",
          dataIndex: "age",
        },
        {
          title: "address",
          dataIndex: "address",
        },
        {
          title: "sex",
          dataIndex: "sex",
        },
        {
          title: "weight",
          dataIndex: "weight",
        },
      ]}
      search={{ defaultColsNumber: 6 }}
    />
  );
}

export default App;

© 版本信息

🚑 其他信息

Lemonnnnnnnnnnn commented 1 month ago

我找到这个问题可能和 QueryFilter 的实现有关,needCollapseRender 的判断逻辑是 totalSize <= showLength ,但 processedList 在计算控件是否 hidden 时的判断逻辑是: totalSize > showLength - 1 ,我尝试提交了一个 pr 修复这个问题: https://github.com/ant-design/pro-components/pull/8564 ,烦请 review 下我的修改是否符合 defaultColsNumber 属性的预期效果或是影响原有功能,谢谢

codedart2018 commented 4 weeks ago

小于的时候也有问题, 比如我一行只显示6个,但我设置 defaultColsNumber 为3的时候,它不是只显示3个,而加上重置查询依然有6个,有时候数据量大的时候我希望查询条件只有一行,其余的展开。但设置defaultColsNumber过小也会有问题。我期望的是我设置多少就显示多少