材料UI表,当取消选择一行时,停止从allRowsSelected = {true}取消选择所有行

时间:2017-03-21 07:56:07

标签: reactjs material-ui

我有这个材料ui表元素:

<Table
  selectable={true}
  allRowsSelected={true}  <----THIS SELECTS ALL ROWS, BUT WHEN ONE ROW IS DESELECTED, IT DESELECTS ALL
  multiSelectable={true}>
    <TableHeader
      displaySelectAll={true}
      enableSelectAll={true}>
      <TableRow>
        <TableHeaderColumn>A</TableHeaderColumn>
        <TableHeaderColumn>B</TableHeaderColumn>
        <TableHeaderColumn>C</TableHeaderColumn>
      </TableRow>
    </TableHeader>

    <TableBody
      displayRowCheckbox={true}
      deselectOnClickaway={false}>
      {props.columnNames.map( (row, index) => (
        <TableRow key={index} selected={true}>
        <TableRowColumn>{row.A}</TableRowColumn>
        <TableRowColumn>{row.B}</TableRowColumn>
        <TableRowColumn>{row.C}</TableRowColumn>
        </TableRow>
      ))}
    </TableBody>
</Table>

allRowsSelected={true}最初选择了所有表格行。我将columnNames通过props传递到我的组件中并通过它们迭代以显示每列。但是,当我取消选择一行时,它会取消选择所有行。

如何取消选择B,只取消行B,A,C仍然被检查?像这样:

X A
  B
X C

我是否需要设置所选行的状态然后执行某些操作?如果是这样,我将如何实现它? (我已经尝试过设置状态并使用onRowSelection函数但是我失败了)或者这是一个简单的Table属性选项吗?

0 个答案:

没有答案