Closed NHZEX closed 1 month ago
tab store里面有个findTabByRouteName
函数,可以根据路由名称获取到tab信息
setTabLabel
的第二个参数就是指定的tab id
tab store里面有个
findTabByRouteName
函数,可以根据路由名称获取到tab信息setTabLabel
的第二个参数就是指定的tab id
路由名称转换也不可靠,使用参数路由多开后就无法准确定位了。
还是提供一个tab
上下文注入进去更可靠了,后续使用也更加简便。类似路由实例那种。
看了下你实现的方案存在的问题:在页面B执行setTabLabel时,先获取到当前的tab Id,那么就已经确定了tab了,而不是等切换到了其他页面后再获取tab id
参考一下tab store里面的getTabByRoute
函数,就清楚tab id是怎么获取到的
软件版本
1.3.7
运行环境
Windows (64)
运行架构
None
重现步骤
存在两个页面:
setTabLabel
执行更新)当两个页面都打开:且B的响应没返回前切换到A,那B的标题会更新到A中。原因是
useTabStore
中的setTabLabel
默认依赖activeTabId
,不是并发安全的。考虑实施每个页面注入独立的
tab
的上下文,类似路由上下文,让tab
操作更安全简单。期望的结果是什么?
tab
上下文独立管理,或针对当前有个更好的方案,如何获取每个页面实例自己的tabId
实际的结果是什么?
默认使用下容易受到并发导致错误更改。
日志记录(可选)
No response
补充说明(可选)
No response