我实现了一个虚拟化的antd表,但是不能指定列宽。
const columns = [
{
title: "Name",
dataIndex: "name",
key: "name"
},
{
title: "Product",
dataIndex: "product",
key: "product"
},
{
title: "Component Type",
dataIndex: "component",
key: "component"
},
{
title: "Config Name",
dataIndex: "label",
key: "label"
},
{
title: "Actions",
dataIndex: "actions",
key: "actions"
}
];
我就是这样用table的。
const virtualTableContainerHeight = (window.innerHeight * 75) / 100;
<div ref={virtualTableRef}>
<VirtualTable
columns={columns}
dataSource={_.sortBy(filteredDataState, "name").map(data => ({
...data,
actions: getRowActions(data)
}))}
scroll={{ x: "100vw", y: virtualTableContainerHeight }}
/>
</div>
在VirtualTable中,有复制粘贴的antd代码:https://ant.design/components/table#components-table-demo-virtual-list
**问题:**所有列宽都是平均分配的。如果我尝试将width属性赋予列配置,则标题通过将所有其他标题向右推来获取宽度值,但行不受此影响,并在X轴上创建滚动,如下图所示(名称宽度1000,产品宽度200)https://i.stack.imgur.com/tUB7D.png
默认视图是这样的。名称列可能长到足以导致溢出,尽管不确定配置名称列如何能够获得第二行,即使它们具有相同的css https://i.stack.imgur.com/53VGS.png
1条答案
按热度按时间yc0p9oo01#
使用width属性
Demo