css - 如何将 HeaderRenderer 添加到 react-data-grid?
问题描述
我正在使用react-data-grid,这在很大程度上正是我所需要的。但是,我有大约 70 列需要编辑,但它们的内容实际上很窄。我想垂直显示标题。
我已经按原样通读了文档,我想我需要添加一个 headerRenderer。我也认为那个签名是( column, rowType )
,但是文档对此有点模糊。
我试过了:
....
const rotatedHeaderRenderer = (column, rowType) => {
return <span className="rotate">{column.name}</span>;
};
....
class Example extends React.Component {
state = { rows };
onGridRowsUpdated = ({ fromRow, toRow, updated }) => {
this.setState(state => {
const rows = state.rows.slice();
for (let i = fromRow; i <= toRow; i++) {
rows[i] = { ...rows[i], ...updated };
}
return { rows };
});
};
render() {
return (
<div>
<ReactDataGrid
columns={columns}
rowGetter={i => this.state.rows[i]}
rowsCount={3}
headerRowHeight={123}
onGridRowsUpdated={this.onGridRowsUpdated}
enableCellSelect={true}
headerRenderer={rotatedHeaderRenderer}
/>
</div>
);
}
}
但我什么也没得到(尽管组件确实渲染)。我试过删除.name
,是的,它告诉我这column
是一个对象。
我究竟做错了什么?还有其他地方我应该在文档中查找吗?
另外:如果我需要逐列进行,我很乐意更改列定义并以某种方式在其中应用渲染器?
编辑
发现一个GitHub 问题有点帮助,虽然那里有一些明显的错误......
我可以通过更改列定义并将标题渲染器依次应用于每一列来旋转标题单元格本身的内容:
function VericalHeader(item) {
return (
<div
style={{
transform: "rotate(-90deg)",
filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)"
}}
>
{item.column.name}
</div>
);
}
....
const columns = [
....
{
key: "base_unit_of_measure",
name: "Base Unit of Measure",
headerRenderer: VericalHeader
},
....
];
结果是这样的......
<div
class="react-grid-HeaderCell"
style="width: 80px;
left: 500px;
display: inline-block;
position: absolute;
height: 200px;
margin: 0px;
text-overflow: ellipsis;
white-space: nowrap;
transform: none;"
>
<div style="transform: rotate(-90deg);">
Base Unit of Measure
</div>
</div>
...哪种有效,但文本现在不会左对齐(即与 的视觉底部div.react-grid-HeaderCell
)。这一切可悲地告诉我,我实际上将不得不对react-data-grid/src/Header.tsx
组件进行子类化,这只需要我学习 Typescript ;-)
喂喂...
解决方案
推荐阅读
- c++ - 实现一个函数,该函数将字符串作为输入并返回一个没有辅音字母的新字符串替换为“!”
- node.js - Nodejs 服务器在本地主机上工作,但在真实服务器上不工作
- java - 单号 II - 需要通用解决方案
- amazon-ec2 - 是否可以在使用 Terraform 创建期间将 EFS 文件系统挂载到 EC2 实例?
- c++ - 相同的 for 循环适用于其他项目,但不适用于本项目。为什么?
- c# - EF Core 2 映射关系
- r - 根据 R 中数据框中的数据创建自定义变量
- algorithm - 每次更改嵌套循环的算法的复杂性
- java - Eclipse 的 $SWITCH_TABLE$ 线程安全吗?
- postgresql - 如何从 PostgreSQL 存储过程中获取结果集?