gpt4 book ai didi

reactjs - React-data-grid:创建基于另一列的列

转载 作者:行者123 更新时间:2023-12-03 13:15:53 25 4
gpt4 key购买 nike

在react-data-grid中,如何创建一个显示另一列值的列?

我有一个对象数组,其中包含如下内容:

{
id: 3,
latitude: 42.101231231,
longitude: -81.123132
}

我的列定义是这样的:

    this.columns = [
{ key: 'id', name: 'ID' },
//The coordinates key for this column doesn't exist
{ key: 'coordinates', name: 'Coordinates', formatter: coordinatesFormatter }
];

格式化程序:

const coordinatesFormatter = React.createClass({
render() {
return (<div>{latitude}, {longitude}</div>);
}
});

在格式化程序中,如何访问行上的纬度和经度属性以便连接它们?

据我所知,格式化程序只能通过 this.props.value 访问其单元格的值,而无法访问该行的整个对象。

最佳答案

事实证明这是该组件的限制。此处记录了一种解决方法:https://github.com/adazzle/react-data-grid/issues/42

它涉及将 getRowMetaData: (row) => row 添加到列定义中。这会填充格式化程序组件上的 this.props.dependentValues

这感觉有点像黑客,有没有更好的方法来访问格式化程序中的行数据?

更新

找到了一个稍微好一点的方法。在 rowGetter 方法中,设置行上所需的任何额外值,以便您可以简单地按键为它们分配列。

rowGetter(i) {
let row = this.props.rows[i];
row.coordinates = row.latitude + ', ' + row.longitude
return row;
}

<ReactDataGrid rowGetter={this.rowGetter} ... />

关于reactjs - React-data-grid:创建基于另一列的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42127123/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com