当表在经过身份验证的模板中时,Mat-Sort不会排序

问题描述 投票:0回答:1

我有一个表,数据来自firebase数据库。我遇到的问题是在使用身份验证时对表进行排序。我在两个stackblitz项目上构建了这个站点,一个有一个,一个没有认证。经过身份验证的站点的登录信息:用户名为“[email protected]”,密码为“asdfjkl”;

当您登录到经过身份验证的站点时,您将看到排序不起作用,直到您单击sortenable按钮,该按钮重新运行代码

this.dataSource.sort=this.sort;

然后排序很有效。

没有认证的网站(排序工作直接):https://stackblitz.com/edit/angular-sort-help-noauth

需要您登录的站点(在单击排序启用按钮之前排序将不起作用):https://stackblitz.com/edit/angular-sort-help

我究竟做错了什么?我不希望用户必须单击按钮才能启用排序。谢谢,

angular firebase firebase-authentication google-cloud-firestore angular-material
1个回答
1
投票

我怀疑的是以下内容:

由于<ng-template>@ViewChild(MatSort) sort: MatSort;没有获得元素。 (它不在DOM中。例如,这可以通过分页来实现)。

你可以做什么:

更容易但不干净:只需隐藏表格(显示:无)而不是<ng-template>

好,但更复杂:

您为登录定义了一条路由,该路由将重定向到具有成功连接的另一条路由。在这条路线的组成部分,你将有你的桌子。

© www.soinside.com 2019 - 2024. All rights reserved.