强制选择行

Selecting row(s) imperatively

mui-datatables中是否有任何方法可以将一行或多行设置为强制检查?

在文档中,我发现唯一关闭的是传递给 customToolbarSelectsetSelectedRows 函数,但您只能在手动执行一行后将此函数作为触发器访问 selected.

我希望能够在数据表组件之外编写一个函数来更改行的“选中”状态。特别是能够将页面上的所有行设置为选中状态,而无需将每一页中的每一行都设置为选中状态。内置的“select all”功能仅执行后者。

看起来答案是像这样将状态对象传递给 rowsSelected 道具:

// selected rows is an array of indices
const [selectedRows, setSelectedRows] = React.useState([3]);

const options: MUIDataTableOptions = {
...
rowsSelected: selectedRows, // on init, the 4th row will be checked
...
}

return (
<>
  <Button onClick={() => setSelectedRows([1, 2, 3])}>Change!</Button>
  <MUIDataTable ... options={options} />
</>
)

单击 Change! 按钮将设置第 2、3 和 4 行选中并取消选中所有其他行。