路由器导航导致信息消失

router navigate causing information to disappear

所以我在页面上有一个 <p-table>,它显示 "users"、他们的全名、状态和更改状态的按钮。

我有三个按钮:"Accept"、"Reject" 和 "Ambiguous"。这些按钮中的每一个都有功能,如下所示:

onAcceptUser(user: UserModel) {
    const data = Utils.cloneObject(user, UserModel);

    data.status = UserStatusEnum.Accept;

    this.userService.userStatusUpdate(data).subscribe(c => {
      user.status = data.status
    });
}

单击一行时,会显示相应用户的信息(它显示在 table 另一侧的同一页面上),为此我使用 router.navigate()(路由器是注入)。

onSelectUser(event) {
    const user = event.data.user;

    let url = ['user-reports/user-list', this.userListId, 'user', user.userId];

    this.router.navigate(url);
}

问题:

当我更改用户状态时,可能会发生两件事。

  1. 一切都会按计划进行。
  2. 一切都会按计划进行,但所有关于用户的信息都会在视觉上消失。

当出现第二个选项时,这就是让我感到模糊的地方:

我不知道怎么回事,其他一些答案说路由有问题,但我认为在我的情况下没问题:

{
    path: 'user-list/:listid',
    component: ViewUserListComponent,
    children: [
      {
        path: 'user/:id',
        component: UserViewEditComponent
      }
    ]
 }

问题:

为什么会出现这个错误?!

我能做什么?!

你介意加html让我看看全貌吗?

您可能会问什么解决了我的问题?!​​

我将 (onRowUnselect) 事件添加到 <p-table>,我在其中清除了 Url 参数和 voilà