Material-Table 用单选按钮替换复选框
Material-Table replace checkboxes with radio buttons
我正在使用 material-table 来显示一些数据,现在我想 select 一次将一行的数据传递给另一个组件,因此能够 select 当时多行不是我要找的,主要建议是选择一个单选按钮。那么有没有办法用单选按钮替换 table 上的复选框,或者使 selection 选项一次只允许 select 编辑一行?
根据 documentation 你的手被绑住了。但是,这可能有效:
- 将
selectedRow
键添加到使用MaterialTable
的组件
- 创建一些方法或函数,例如
handleSelection
并将其传递给 onSelectionChange
道具。这个 func 的参数是一个 handleSelection returns 的数组
- 当用户 select 某行时,将
selectedRow
设置为该行对象
- 如果用户单击“全选”复选框(左上角)- 显示不支持操作的通知。如果无法以编程方式取消select所有复选框 - 卸载然后安装 MaterialTable(重置复选框)
- 如果一行已经 selected,则另一行得到 selected(这使得两个 selected 行)- 重复步骤“4”
我知道这有点复杂,但这是我目前能想到的最好的
n.b。您可以做的另一件事(强制用户 select 只有一行)是在多个 selection 上隐藏 table 并显示有关他们可以做什么的消息。消息可以关闭。当消息关闭时,可能会出现新鲜的 table(重新装载)。
更新
刚找到另一个可能适合您的选项。查看“简单操作示例”中的 this page。那里有按钮而不是复选框。我开始认为:
options={{
selection: true
}}
不适合您。
我正在使用 material-table 来显示一些数据,现在我想 select 一次将一行的数据传递给另一个组件,因此能够 select 当时多行不是我要找的,主要建议是选择一个单选按钮。那么有没有办法用单选按钮替换 table 上的复选框,或者使 selection 选项一次只允许 select 编辑一行?
根据 documentation 你的手被绑住了。但是,这可能有效:
- 将
selectedRow
键添加到使用MaterialTable
的组件
- 创建一些方法或函数,例如
handleSelection
并将其传递给onSelectionChange
道具。这个 func 的参数是一个 handleSelection returns 的数组
- 当用户 select 某行时,将
selectedRow
设置为该行对象 - 如果用户单击“全选”复选框(左上角)- 显示不支持操作的通知。如果无法以编程方式取消select所有复选框 - 卸载然后安装 MaterialTable(重置复选框)
- 如果一行已经 selected,则另一行得到 selected(这使得两个 selected 行)- 重复步骤“4”
我知道这有点复杂,但这是我目前能想到的最好的
n.b。您可以做的另一件事(强制用户 select 只有一行)是在多个 selection 上隐藏 table 并显示有关他们可以做什么的消息。消息可以关闭。当消息关闭时,可能会出现新鲜的 table(重新装载)。
更新
刚找到另一个可能适合您的选项。查看“简单操作示例”中的 this page。那里有按钮而不是复选框。我开始认为:
options={{
selection: true
}}
不适合您。