hash的tab翻页时带参数的问题

提问 已结 5 827
社会一枝花丶
悬赏:20飞吻
一个页面 有2个hash类型的tab 每个tab都是列表页 假设2个tab都有10页,每一页都是10条数据。


然后当我翻第一个tab时候 url是tab.html#test=11&page=1

然后当我翻第2个tab时候 url是tab.html#test=22&page=1

没问题

然后 当我想看第一个tab的第二页时,点击第二页 URL变成了tab.html&page=1

然后 当我想看第2个tab的第二页时,点击第二页 URL变成了tab.html&page=2


意思就是 翻页的时候 hash参数不会带到url里 这个是layui要优化的点 还是我个人没有正确使用layui呢

回帖
  • bagelaile
    2019-8-14
    layui应该是替换了全部的hash值,所以分页的会改变tab的#test
    0 回复
  • 贤心
    贤心 (管理员)
    2019-8-13
    你的之所以产生冲突,是因为你的 hash name 都是用的 test,建议分别用 test1、test2、分开识别。

    //Hash地址的定位
    var layid = location.hash.replace(/^#test1=/, '');
    element.tabChange('test1', layid);

    //Hash地址的定位
    var layid = location.hash.replace(/^#test2=/, '');
    element.tabChange('test2', layid);
    0 回复
  • @贤心 好像和我说的不是一回事诶。我说的是url里的#test=11和#test=22,这两个是一个tab的2个页面,对吧。就是11翻页和22翻页时都会丢了#test这个参数。
    0 回复
  • @贤心 你的意思是#test1和#test2,不管test几,翻页都会丢了#参数
    0 回复
  • 谢谢 我已经解决了 在new pager的时候带了hash的参数过去。完美结局了~,,,emm贤心大佬的答案也很棒,但是我这20个分就不给贤心大佬了,大佬想要分数的话可以自己去数据库改动,分数就给我们小老百姓了~
    0 回复