【问题标题】:How to get the current url with query string in Livewire如何在 Livewire 中使用查询字符串获取当前 url
【发布时间】:2021-07-19 21:30:54
【问题描述】:

我正在使用 Laravel 8 和 Livewire。我创建了一个包含很多选项的搜索组件,这些选项被添加到查询字符串中。

现在我有一个问题,当我使用<a href= 打开结果的详细信息页面时,查询字符串没有保存在任何地方,我无法返回到最新的查询。

在将所有内容更改为 Livewire 之前,我已将 url()->current() 保存到会话变量中,并在返回时打开它。 livewire 的问题是,即使显示的 url 是带有实际查询参数的当前页面,当前 url 也会返回 livewire/message/nameofcomponent

我不知道如何从详细信息页面返回并获取最新的查询组合。

有什么建议吗?

【问题讨论】:

    标签: laravel laravel-8 laravel-livewire


    【解决方案1】:

    一种选择是简单地使用history.back()

    <a href="javascript:window.history.back()">...</a>

    这应该会重新打开上一页,包括所有查询参数。

    或者,您也可以将查询参数传递到详细信息页面并重建路由。但这需要做更多的工作。

    【讨论】:

    • JS版本可以,但是我选择在updated()方法期间重新生成查询字符串,并保存到session()中。像魅力一样工作;-)
    • 啊,这是个好主意,而且可以避免你到处乱传。但是,如果有人在多个标签中工作(就像我经常做的那样),那会造成麻烦,不是吗?
    • 对,这会搞混……该死的……我想我必须找到另一个解决方案;-(
    • history.back() 方法应该适用于多个选项卡,因为信息保存在浏览器中
    • @SaschaKlein 你想出了什么方法?
    猜你喜欢
    • 2018-09-04
    • 2016-12-31
    • 2012-04-09
    • 2018-02-14
    • 2011-07-02
    • 1970-01-01
    • 2013-11-21
    • 2014-01-30
    • 2023-03-15
    相关资源
    最近更新 更多