请教一下,在聊天界面,如何可以通过一个触发按钮,跳转到与另一个人的聊天界面,并且还能正常返回页面

吃土的虾 2月前 233

用的是vue2的版本(项目原因,升级不了到vue3) 功能:在当前聊天页,跳转到一个新的聊天页

想要在当前的聊天界面通过一个触发按钮跳转与另一个聊天,但是看了下原本的代码,若是在聊天界面会默认返回(看了下代码,聊天页面都是同一个,只是不同的消息用的不同组件),然后我复制了一个聊天页面,加跳转参数在不影响原来逻辑的情况下,跳到一个新的聊天页面,并且获取值,但是返回到第一个聊天页面的时候,页面数据会变成最后那个页面的数据,可能是因为数据用的是缓存store里的原因?因为跳转单聊,会存,我要怎么才能完美的实现这个功能呢?求教!!!!

最新回复 (8)
  • x86 2月前
    引用 2
    你的需求是要同时打开多个会话界面,比如同时打开会话A和会话B?
  • 吃土的虾 1月前
    引用 3
    x86 你的需求是要同时打开多个会话界面,比如同时打开会话A和会话B?
    不算同时?就是在跟A聊天的时候,我可以通过某个按钮触发跳转到B去与B聊天,并且还能通过返回按钮回到与A的聊天界面,但是我看了下代码的在conversationPage的跳转判断,好像不能在这个界面的基础上跳转
  • x86 1月前
    引用 4

    store.js 里面会保存当前会话的相关信息,实现的你的需求的话,你需要自行保存一下你得操作路径,当后退的时候,重新设置一下当前的会话。

  • 吃土的虾 1月前
    引用 5
    x86 你的需求是要同时打开多个会话界面,比如同时打开会话A和会话B?
    所以尝试了两个方法第一个是在不影响原来逻辑的跳转上,处理一下这个特殊的跳转,第二个是复制了一个conversationPage页面,作为B页面的展示,但是由于数据都是从store里取的,在从B回到A,A页面数据会变成B的这个要怎么处理呢?
  • x86 1月前
    引用 6
    回到 A 的时候,需要重新设置当前会话为 A
  • 吃土的虾 1月前
    引用 7
    x86 回到 A 的时候,需要重新设置当前会话为 A
    是只需要设置conversationInfo,sharedConversationState这两个的值为(自己保存的A的数据)就可以了吗?
  • x86 1月前
    引用 8

    是的,调用store#setCurrentConversation或者store#setCurrentConversationInfo设置

  • 吃土的虾 1月前
    引用 9
    x86 是的,调用`store#setCurrentConversation`或者`store#setCurrentConversationInfo`设置
    哦,差点忘记了,十分感谢,功能ok了
返回