Material-UI XGrid:我可以控制行的初始排序顺序吗?为啥 apiRef.getAllRowIds() 不再尊重排序顺序?

Posted

技术标签:

【中文标题】Material-UI XGrid:我可以控制行的初始排序顺序吗?为啥 apiRef.getAllRowIds() 不再尊重排序顺序?【英文标题】:Material-UI XGrid: Can I control initial sort order of rows? Why doesn't apiRef.getAllRowIds() no longer respect sort order?Material-UI XGrid:我可以控制行的初始排序顺序吗?为什么 apiRef.getAllRowIds() 不再尊重排序顺序? 【发布时间】:2021-03-26 23:17:11 【问题描述】:

我最近将 @material-ui/x-grid 升级到版本 4.0.0-alpha.12(从 alpha.6),希望能解决网格的一些错误。不幸的是,这导致的问题多于帮助。

以前,网格会按照它们在提供的“行”数组中定义的顺序呈现项目。 例如,如果您提供了一个如下所示的数组:

const rows = [ id: 10 ,  id: 0 ,  id: 5 ];

网格将按该顺序呈现。在 alpha 12 中,网格似乎在最初呈现行时自动按“asc”排序。有没有办法在提供时保留项目的顺序?

同样在之前的版本 alpha 6 中,调用 apiRef.getAllRowIds() 将给出一个从上到下渲染行的 Id 数组,尊重网格的当前排序顺序。现在在 alpha 12 版本中,该函数似乎总是以初始渲染顺序返回 Id,而忽略任何手动排序。我要解决的用例是“选择网格中的前 X 行”,其中 X 是用户输入,同时尊重网格的当前排序顺序。

【问题讨论】:

第二部分选择top X项可以通过apiRef.state.sorting.sortedRows访问内部状态来解决。但是,材料团队未记录的任何内容都应视为私有内容。.. 【参考方案1】:

这是一个错误。更多信息可以在这里找到: https://github.com/mui-org/material-ui-x/issues/753

【讨论】:

以上是关于Material-UI XGrid:我可以控制行的初始排序顺序吗?为啥 apiRef.getAllRowIds() 不再尊重排序顺序?的主要内容,如果未能解决你的问题,请参考以下文章

如何在事件处理程序的 mui-datatable 中使用 material-ui 菜单

使用带有 Material-UI 自动完成功能的 react-hook-form 控制器的正确方法

带有 next.js 的 material-ui 样式

选中后如何覆盖 Material-UI 开关组件的样式?

如何在 asp.net mvc 项目中使用 Material-UI

React material-ui KeyboardDatePicker 和 Formik 不起作用