reactjs 给定滚动y值时出现列宽问题

yx2lnoni  于 2023-01-02  发布在  React
关注(0)|答案(1)|浏览(101)

我实现了一个虚拟化的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

yc0p9oo0

yc0p9oo01#

使用width属性

[{
    title: "Name",
    dataIndex: "name",
    key: "name",
    width: 100
  },
...

Demo

相关问题