0

我已经griddle-react像这样定义了我的列元数据:

const cols = [
  {"columnName": 'id', "displayName": "ID", "visible": false, "order": 1},
  {"columnName": 'name', "displayName": "Name", "order": 2, "customComponent": BrandNameLink},
  {"columnName": 'description', "displayName": "Description", "order": 3},
  {"columnName": 'dateCreated', "displayName": "Date Created", "visible": true, "order": 4, "customComponent": DateComponent},
  {"columnName": 'lastUpdated', "displayName": "Last Updated", "visible": true, "order": 5, "customComponent": DateComponent},
];

对于name,我想将额外的道具传递给这些自定义组件dateCreatedlastUpdated例如,我的DateComponent样子是这样的:

import React from 'react';
import Time from 'react-time';

const DateComponent = (props) => {
  return (<Time value={props.rowData.dateCreated} format="MM-DD-YYYY" />);
}

export default DateComponent;

但我希望能够告诉它使用dateCreatedlastUpdatedrowDatavs 制作 2 个几乎相同的组件(每个日期属性 1 个)。

4

1 回答 1

1

这个问题想出来了。

当你传递一个 customComponent 时,你也可以像这样传递 customComponentMetadata:

{"columnName": 'dateCreated', "displayName": "Date Created", "visible": true, "order": 4, "customComponent": DateComponent, customComponentMetadata: {
  "dateField": "dateCreated"
}}

然后像这样访问它:

props.metadata.customComponentMetadata.dateField

也就是说,无论如何 columnName 已经作为元数据传入。因此,虽然我不需要为这种情况传递自定义数据,但我确实需要它来处理其他事情。

于 2016-10-12T15:34:03.210 回答