如何使用react表对数据进行自动换行?

IT技术 reactjs react-table
2021-04-24 11:58:02

我正在使用https://react-table.js.org/#/story/readme来显示来自服务器响应的表格。但对于长度较长的列数据,其显示省略号。我没有找到包装它的方法,以便显示完整的数据。

在文档中,他们提到了styleprops,但我无法弄清楚。我在下面尝试过,但没有用。

<ReactTable
    data={respDataArr}
    columns={columns}
    style={{overflow:'wrap'}}
/>

有人可以建议我应该做什么改变吗?

4个回答

你会想要使用 css 属性 white-space: unset;

找到您想要换行的列并将以下内容添加为列的属性

// Example Column definition
{
    Header: 'header', 
    accessor: 'data1',
    style: { 'whiteSpace': 'unset' } //Add this line to the column definition
}

或者,您可以添加一个.ReactTable .rt-td直接针对您的 css/sass/scss 的类

编辑:添加示例列定义以使其更清晰,更新为新的 react-table api

根据 Steffan 的说法,为了进一步使答案更清晰:

这是我的列定义:

   const responsesData = [{..}, {..} .... etc ..];
   const columsDefnSamplesQsReactTable = [{
        Header: 'Question Code',
        accessor: 'Id'
    }, {
        Header: 'Question Text',
        accessor: 'QuestionText',
        style: { 'white-space': 'unset' } // allow for words wrap inside only this cell
    }];

    <ReactTable data={responsesData} columns= columsDefnSamplesQsReactTable } 
     defaultPageSize={3} />

在此处输入图片说明

为了让它对我有用,我不得不使用这个 sytnax:

style: { 'whiteSpace': 'unset' } 

const columsDefnSamplesQsReactTable = [
  {
    Header: "Question Code",
    accessor: "Id",
  },
  {
    Header: "Question Text",
    accessor: "QuestionText",
    style: { overflowWrap: "break-word" }, // allow for words wrap inside this cell
  },
];