【问题标题】:Grid only displaying one Column网格只显示一列
【发布时间】:2018-07-03 14:41:24
【问题描述】:

我最近开始尝试使用 react-virtualized,但我从一开始就遇到了问题。我一直在尝试构建一个非常简单的网格,起初我加载了我的数据并且它不能正常工作,但我已经将它更改为一个简单的 4x4 网格,它仍然给我带来了问题。现在所有 16 个单元格都加载到一个列中,我尝试记录 rowIndex 和 columnIndex,这些都给了我正确的输出。

我不确定我调用 Grid 时是否做错了,或者我在使用 cellRenderer 时是否做错了,我非常感谢您对此的帮助。我的部分代码在下面。

_cellRenderer({columnIndex, key, rowIndex, styles}){
    return(
        <div> 
            {columnIndex} 
        </div>);
}

render(){
    return(
    <div>
        <Autosizer>
            {({width}) => (
                <Grid
                    cellRenderer={this._cellRenderer}
                    columnCount={4}
                    columnWidth={30}
                    rowCount={4}
                    rowHeight={30}
                    width={400}
                    height={400}
                />
             )}
        </Autosizer>
    </div>
    );
}

【问题讨论】:

    标签: grid react-virtualized


    【解决方案1】:

    您没有使用传递给渲染器的参数。例如,stylekey 都被传递是有原因的,您必须使用它们。 (文档应该很清楚。)

    换一种说法:

    // Wrong:
    function cellRenderer ({ columnIndex, key, rowIndex, style }) {
      return (
        <div>
          {columnIndex}
        </div>
      )
    }
    ​
    // Right:
    function cellRenderer ({ columnIndex, key, rowIndex, style }) {
      return (
        <div
          key={key}
          style={style}
        >
          {columnIndex}
        </div>
      )
    }
    

    另外,如果您没有注意到,参数是 style 而不是 styles 就像您的代码 sn-p 显示的那样。

    【讨论】:

    • 感谢您的回复,抱歉打错了 - 我在另一台机器上使用堆栈溢出,所以有一些拼写错误 - 我试过这样做,但它似乎仍然无法正常工作,我按照你对 cellRenderer 的建议做了,但它似乎不起作用。我目前使用的是 4x4 数组,当我尝试打印 columnIndex 时,它只会在一行中提供所有内容。我已经尝试根据示例对其进行编辑,并且每次都降低了输入的复杂性和大小,并尝试在 github 和 stack-overflow 上查看文档和其他帖子。
    • 清理你的问题。根据您提供的有限信息和其中明显的错误,我回答了我能想到的唯一解释。出于这个原因,像这样的 Stack Overflow 问题需要链接到 CodeSandbox 或 Plunker 示例。
    • 对不起,我用我的例子做了一个 CodeSandbox,codesandbox.io/s/2o5n1v2z5p
    • 我原来的回答指出了问题所在。您使用的是styles 而不是style....
    • ...我明白了,很抱歉给您带来麻烦,非常感谢您的帮助!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-27
    相关资源
    最近更新 更多