gpt4 book ai didi

javascript - 从对象列表中逐行渲染表

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:39:26 25 4
gpt4 key购买 nike

我正在尝试将我的数据绑定(bind)到 blueprint.js Table ,但是文档不清楚如何执行此操作。如何为 blueprint.js Table 创建自定义呈现函数以呈现对象列表中的键?

示例中默认传递rowIndex

代码:

data = [
{ name: "L/S", col2: "abc" },
{ name: "HY", col2: "def" }
];

myRender = (rowIndex: number, key: string) => {
return <Cell> {this.data[rowIndex][key]} </Cell>;
};

<Table numRows={2}>
<Column name="not-working" cellRenderer={this.myRender("name")} />
<Column name="not-working2" cellRenderer={this.myRender("col2")} />
</Table>;

错误:

TypeError
Cannot read property 'undefined' of undefined

18 |
19 | myRender = (rowIndex: number, key: string) => {
> 20 | return <Cell> {this.data[rowIndex][key]} </Cell>;
| ^
21 | };

请看这里的例子: https://codesandbox.io/s/k9l9q2150r

文档: https://blueprintjs.com/docs/#table.basic-usage

最佳答案

cellRenderer 需要一个以 rowIndex 作为参数的函数。所以这就是你需要做的:

myRender = (key: string) => (rowIndex: number) => {
return <Cell>{this.data[rowIndex][key]}</Cell>;
};

这是 sandbox

关于javascript - 从对象列表中逐行渲染表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53026757/

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