🐛[BUG] Protable 设置 defaultColsNumber 时搜索控件被异常隐藏
提问前先看看:
https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way/blob/main/README-zh_CN.md
🐛 bug 描述
当设置 defaultColsNumber 等于控件数量时,columns 数组的最后一个元素无法被展示出来
📷 复现步骤
🏞 期望结果
💻 复现代码
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;
© 版本信息
- ProComponents 版本: 2.7.10
- 浏览器环境: chrome
- 开发环境 : windows
🚑 其他信息
我找到这个问题可能和 QueryFilter 的实现有关,needCollapseRender 的判断逻辑是 totalSize <= showLength ,但 processedList 在计算控件是否 hidden 时的判断逻辑是: totalSize > showLength - 1 ,我尝试提交了一个 pr 修复这个问题: https://github.com/ant-design/pro-components/pull/8564 ,烦请 review 下我的修改是否符合 defaultColsNumber 属性的预期效果或是影响原有功能,谢谢
小于的时候也有问题, 比如我一行只显示6个,但我设置 defaultColsNumber 为3的时候,它不是只显示3个,而加上重置查询依然有6个,有时候数据量大的时候我希望查询条件只有一行,其余的展开。但设置defaultColsNumber过小也会有问题。我期望的是我设置多少就显示多少
2.8.6 版本新增了 defaultFormItemsNumber API用于控制控件数量,用于处理多行折叠的情况。 并调整了 defaultColsNumber 的行为,令其仅折叠为一行,defaultColsNumber 控制一行内控件的展示数量。
该 ISSUE 可用 defaultFormItemsNumber :5 来解决