0

我正在尝试使用新的 KendoReact 库构建剑道网格,我的渲染方法如下。

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" />可以工作。)

4

1 回答 1

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} />);

官方 Kendo React Grid 演示中,列已成功生成。Title可以通过在每列上应用道具来更改列标题。

于 2018-10-15T07:09:19.833 回答