在数据源更新时保持展开的 mat-table 不折叠行 (Angular Material)

Keep expanded mat-table from collapsing row when datasource updates (Angular Material)

我正在构建一个应用程序,它使用每隔几秒更新一次的实时数据。我正在使用 mat-table,它在可折叠行内显示一个附加 mat-table。崩溃工作正常,但是当我更新数据源时它崩溃了。有什么方法可以 prevent/override 这种行为吗?我编辑了折叠示例以说明我的意思:https://stackblitz.com/edit/angular-3yukjz - 只需按下第一个元素,它就会随着数据源的更改而折叠。

我最终通过向我的数据模型添加一个布尔值 'expanded' 来解决这个问题,默认情况下它是 false。在行的点击方法上,我发送行并遍历所有行 - 当它找到正确的行时,它反转布尔值并退出函数。然后,在更新数据时,我在连接到数据源的数组中覆盖了它,而不是直接对数据源进行操作。即使在更新时,行现在也保持打开状态,并且您可以同时打开多行。 :)