首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否向react-virtualized material-ui表添加“序列号”列?

是否向react-virtualized material-ui表添加“序列号”列?
EN

Stack Overflow用户
提问于 2019-02-08 16:37:02
回答 1查看 1.6K关注 0票数 0

我正在尝试包含一个额外的列,用于显示react-virtualized表的序列号。让我们举一个简单的表格例子。另外,在对此表进行排序的情况下,序列号不应重新排序。有什么想法吗?

PS:序列号列不是从中派生列的数据的一部分,因此无法通过rowGetter获取。它必须是不使用“datakey”的单独的断开连接的列。

代码语言:javascript
复制
import React from 'react';
import ReactDOM from 'react-dom';
import { Column, Table } from 'react-virtualized';
import 'react-virtualized/styles.css'; // only needs to be imported once

// Table data as an array of objects
const list = [
  { name: 'Brian Vaughn', description: 'Software engineer' }
  // And so on...
];

// Render your table
ReactDOM.render(
  <Table
    width={300}
    height={300}
    headerHeight={20}
    rowHeight={30}
    rowCount={list.length}
    rowGetter={({ index }) => list[index]}
  >
    <Column
      label='Name'
      dataKey='name'
      width={100}
    />
    <Column
      width={200}
      label='Description'
      dataKey='description'
    />
  </Table>,
  document.getElementById('example')
);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-09 08:36:45

您可以在Column组件的cellDataGetter prop的帮助下执行此操作。See docs

还可以使用disbaleSort prop禁用列的排序行为。

下面是一个示例:

代码语言:javascript
复制
<Column
  label="Serial"
  width={200}
  disableSort
  dataKey="serial"
  cellDataGetter={() => this.getSerial()}
/> 

无论cellDataGetter的参数是什么,getSerial都可以是一个生成下一个序列的简单函数:

代码语言:javascript
复制
getSerial() {
  return ++this.serial;
}

这是一个演示:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54588600

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档