路由器导航导致信息消失
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);
}
问题:
当我更改用户状态时,可能会发生两件事。
- 一切都会按计划进行。
- 一切都会按计划进行,但所有关于用户的信息都会在视觉上消失。
当出现第二个选项时,这就是让我感到模糊的地方:
如果我然后 select 另一个用户,最后一个 selected 将显示 并且我得到一个错误:
当我 select 时,同样的事情发生了,然后 deselect行,然后我 select other 行。
我不知道怎么回事,其他一些答案说路由有问题,但我认为在我的情况下没问题:
{
path: 'user-list/:listid',
component: ViewUserListComponent,
children: [
{
path: 'user/:id',
component: UserViewEditComponent
}
]
}
问题:
为什么会出现这个错误?!
我能做什么?!
你介意加html让我看看全貌吗?
您可能会问什么解决了我的问题?!
我将 (onRowUnselect)
事件添加到 <p-table>
,我在其中清除了 Url 参数和 voilà。
所以我在页面上有一个 <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);
}
问题:
当我更改用户状态时,可能会发生两件事。
- 一切都会按计划进行。
- 一切都会按计划进行,但所有关于用户的信息都会在视觉上消失。
当出现第二个选项时,这就是让我感到模糊的地方:
如果我然后 select 另一个用户,最后一个 selected 将显示 并且我得到一个错误:
当我 select 时,同样的事情发生了,然后 deselect行,然后我 select other 行。
我不知道怎么回事,其他一些答案说路由有问题,但我认为在我的情况下没问题:
{
path: 'user-list/:listid',
component: ViewUserListComponent,
children: [
{
path: 'user/:id',
component: UserViewEditComponent
}
]
}
问题:
为什么会出现这个错误?!
我能做什么?!
你介意加html让我看看全貌吗?
您可能会问什么解决了我的问题?!
我将 (onRowUnselect)
事件添加到 <p-table>
,我在其中清除了 Url 参数和 voilà。