如何动态生成React Kendo <gridcolumn>?

时间:2018-10-14 05:13:36

标签: reactjs kendo-react-ui

我正在尝试使用新的KendoReact库构建一个kendo网格,下面是我的render方法。

render() {
    var allColumns = this.state.data.length > 0 ? Object.keys(this.state.data[0]) : []
    var columnsToShow = allColumns.map((item,i) => <GridColumn field={item} key={i} />);
    return (<div> 
        <Grid
            data={this.state.data}
        >
            {columnsToShow}

        </Grid>
    </div>
    );
}

由于必须定义GridColumns(不是自动的),因此我想动态地生成它们,即在第3行var columnsToShow中。有人可以帮助我理解为什么为什么不显示列但显示数据 吗? (我知道存在数据,因为如果我分别定义<GridColumn field="Name" />,它就可以工作。)

1 个答案:

答案 0 :(得分:1)

似乎上面的代码很好。使用动态创建列

var allColumns = this.state.data.length > 0 ? Object.keys(this.state.data[0]) : []
var columnsToShow = allColumns.map((item,i) => <GridColumn field={item} key={i} />);

official Kendo React Grid demo内的列已成功生成。可以通过在每列上应用Title属性来更改列标题。