用单选按钮替换材料表复选框

时间:2020-03-28 23:41:26

标签: reactjs material-ui material-table

我正在使用material-table来显示一些数据,现在我想一次选择一行以将该行的数据传递给另一个组件,因此能够一次选择多行不是什么我正在寻找,主要建议是选择一个单选按钮。那么,有没有办法用单选按钮替换表格上的复选框,或者使选择选项只允许一次只选择一行?

1 个答案:

答案 0 :(得分:0)

根据documentation,您的手被绑住了。但是,这可能有效:

  1. 向使用selectedRow的组件添加MaterialTable
  2. 创建一些方法或函数,例如handleSelection并将其传递给onSelectionChange prop。此函式的参数是handleSelection返回的数组
  3. 当用户选择某行时,将selectedRow设置为该行对象
  4. 如果用户单击“全部选中”复选框(左上角)-显示不支持该操作的通知。如果无法以编程方式取消选中所有复选框,请先卸载然后挂载MaterialTable(以重置复选框)
  5. 如果已经选择了一行,那么将选择另一行(这将导致选择两行)-重复步骤“ 4”

我知道这有点复杂,但这是我目前能想到的最好的

n.b。您可以做的另一件事(强制用户仅选择一行)是在多个选择上隐藏表格并显示有关他们可以做什么的消息。消息可能会关闭。当消息关闭时,可能会出现新表(重新安装)。

更新

刚刚找到了另一个可能适合您的选项。在“简单操作示例”中查看this page。那里有按钮而不是复选框。我开始认为:

 options={{
   selection: true
 }}

不是您的正确选择。