一个前端需求请教一下各位老哥vue的

一个table列表页面进去是没数据的,要select下拉选择然后回返相应的数据
然后我路由跳内页新增一条数据,成功之后会返回table此时这个页面的select被刷新了之前选择的数据也没了,相应的table也空了,有没有办法返回时记住之前的选择

阅读 2.3k
4 个回答

很多种方法,主要思路就是:保存select选择的数据,等新增完成后,二次返回主页时候给select赋值就可以了。
方法:

  • 使用vuex
  • 使用sessionstorage
  • 把select的值放在url或路由上(我常用)
this.$router.push({
    name:'内页路由',
    query:{
        select:'xxxx'
    }
})

有啊,无非就以下几种:

  • 记住之前 select 的已选值,重新选择获取,可以通过各种方式来持久化这个值,query 或者 router 的 param 等等
  • 不论是使用 vuex 还是一个单例模式的 service,持久化之前获取的列表数据即可,但要注意及时更新
  • 把新增数据页面也集成到列表页中(不推荐)
  • localstorage/sessionstorage(不推荐)

第一点和第二点之间处于尺有所短寸有所长的境地,你可以自己体会,我比较建议的是,不论是否持久化这些数据,采用 reload 的方式都是最稳妥的(就是像后端获取),除非对用户体验有极致的要求。

新增数据为什么跳内页呢,直接用子组件不能解决吗

新手上路,请多包涵

新增的话直接用一个弹框组件不就可以了吗

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题