Node.js react虚拟化表格x滚动

Node.js react虚拟化表格x滚动,node.js,reactjs,redux,react-virtualized,Node.js,Reactjs,Redux,React Virtualized,是否可以在react虚拟化中设置x滚动?我有一个固定宽度的表,要显示的列比表中的空间还多,所以我需要x-Scrolling。在我的测试中,如果我这样做了,表就会缩小,如果表空间不足,就会显示“…”作为内容 介绍段落(增加强调): 具有固定标题和窗口行的表组件,用于改进 大数据集的性能。此组件需要显式的 宽度和高度参数表格内容可以垂直滚动,但 它不是水平滚动的。 您可能可以破解它,但它并不支持水平滚动,因此可能无法工作。考虑使用格式化< >代码>或>代码>多重网格< /代码>,如果这是对应用程序的

是否可以在react虚拟化中设置x滚动?我有一个固定宽度的表,要显示的列比表中的空间还多,所以我需要x-Scrolling。在我的测试中,如果我这样做了,表就会缩小,如果表空间不足,就会显示“…”作为内容

介绍段落(增加强调):

具有固定标题和窗口行的表组件,用于改进 大数据集的性能。此组件需要显式的
宽度
高度
参数
表格
内容可以垂直滚动,但 它不是水平滚动的。

您可能可以破解它,但它并不支持水平滚动,因此可能无法工作。考虑使用<代码>格式化< >代码>或>代码>多重网格< /代码>,如果这是对应用程序的要求。

< P>段落(强调添加):

具有固定标题和窗口行的表组件,用于改进 大数据集的性能。此组件需要显式的
宽度
高度
参数
表格
内容可以垂直滚动,但 它不是水平滚动的。

您可能可以破解它,但它并不支持水平滚动,因此可能无法工作。考虑使用<代码>网格> <代码>或<代码>多重网格,如果这是对应用程序的要求。

在已接受的答案上,对于水平滚动表的HOK可以是类似的,但是,谨防下面的警告:

  • 溢出的表列将被虚拟化
  • 滚动焦点被包装器的x轴滚动捕获,您需要在内部表格组件中单击以重新聚焦并恢复y轴滚动。尤其是在移动设备上使用,这令人难以置信地沮丧
基于作者公认的答案,对水平滚动表的攻击可能看起来有点像,但是,请注意此攻击附带的以下警告:

  • 溢出的表列将被虚拟化
  • 滚动焦点被包装器的x轴滚动捕获,您需要在内部表格组件中单击以重新聚焦并恢复y轴滚动。尤其是在移动设备上使用,这令人难以置信地沮丧

    • 我自己也为此挣扎了一段时间。我通过将表的宽度设置为
      width={Object.keys(rows[0]).length*150}
      并将每个列的最小宽度设置为150(或者您选择的任何值,只要确保它在表中是相同的)

      然后用纸把它包起来,给它一个宽度,然后溢出x:“自动”

      大概是这样的:

      const VirtualizedTable = withStyles(styles)(MuiVirtualizedTable);
      
      export default function DataPreview(props) {
      
      
      const rows =  [{ One: 'one', Two: 'Two',Three: 'Three',Four:'Four', Five:'Five', Six:'Six'}]
      
      return (
          <Paper style={{ height: 400, width:700, overflowX: 'auto'}}>
              <VirtualizedTable
      
               width={Object.keys(rows[0]).length*150}
              
                  rowCount={rows.length}
                  rowGetter={({ index }) => rows[index]}
                  
                  columns={Object.keys(rows[0]).map(head=>{return(
                      {
                          minWidth:150,
                          label:head,
                          dataKey:head
                      }
                  )})}
              />
          </Paper>
       );
      }
      
      const VirtualizedTable=带有样式(样式)(MuiVirtualizedTable);
      导出默认函数数据预览(道具){
      常量行=[{1:'1',2:'2',3:'3',4:'4',5:'5',6:'6'}]
      返回(
      行[索引]}
      columns={Object.keys(行[0]).map(head=>{return(
      {
      最小宽度:150,
      标签:头,
      数据键:头
      }
      )})}
      />
      );
      }
      
      我自己也为此挣扎了一段时间。我通过将表的宽度设置为
      width={Object.keys(rows[0]).length*150}
      并将每个列的最小宽度设置为150(或者您选择的任何值,只要确保它在表中是相同的)

      然后用纸把它包起来,给它一个宽度,然后溢出x:“自动”

      大概是这样的:

      const VirtualizedTable = withStyles(styles)(MuiVirtualizedTable);
      
      export default function DataPreview(props) {
      
      
      const rows =  [{ One: 'one', Two: 'Two',Three: 'Three',Four:'Four', Five:'Five', Six:'Six'}]
      
      return (
          <Paper style={{ height: 400, width:700, overflowX: 'auto'}}>
              <VirtualizedTable
      
               width={Object.keys(rows[0]).length*150}
              
                  rowCount={rows.length}
                  rowGetter={({ index }) => rows[index]}
                  
                  columns={Object.keys(rows[0]).map(head=>{return(
                      {
                          minWidth:150,
                          label:head,
                          dataKey:head
                      }
                  )})}
              />
          </Paper>
       );
      }
      
      const VirtualizedTable=带有样式(样式)(MuiVirtualizedTable);
      导出默认函数数据预览(道具){
      常量行=[{1:'1',2:'2',3:'3',4:'4',5:'5',6:'6'}]
      返回(
      行[索引]}
      columns={Object.keys(行[0]).map(head=>{return(
      {
      最小宽度:150,
      标签:头,
      数据键:头
      }
      )})}
      />
      );
      }
      
      我是否也能对网格列进行排序,还是需要实现自制的排序功能?最好的问候和感谢您的回答您需要提供您自己的排序功能<代码>表格显示数据,但不修改数据。我是否也能对网格列进行排序,还是需要实现自制的排序功能?最好的问候和感谢您的回答您需要提供您自己的排序功能<代码>表格显示数据,但不修改数据。