所以我有实时线组件在我的网站上显示一个左侧栏,其中包含一些搜索字段(文本、描述等(和一个在第一次加载时显示折叠的区域(我相信它使用 jquery - UI 人员做到了(:
<p class="filterDropdown"><a class="collapsed" data-toggle="collapse" href="#collapseStatus">Status
<span><i class="far"></i></span>
</a></p>
<div class="collapse show " id="collapseStatus">
它包含一些复选框,它显示如下内容:
在此处输入图像描述
现在,如果我关闭它(例如,通过单击 Status 字符串(并在文本框中键入一些内容(例如名称 one(,它当然会启动一个新请求,最终以组件本身的更新结束,但现在状态框处于其默认状态,即打开,显示状态列表。
如何跟踪此类 UI 组件的状态? 我已经搜索了 livewire 文档,但我找不到太多,我想也许我跟踪了这些块中的每一个并将它们与一些 livewire 的组件属性连接起来,但我找不到太多。
知道吗?
所以我最终向组件添加一个属性,如下所示:
public $statusGroupOpen = false;
并修改了视图,如下所示:
<p class="filterDropdown">
<a wire:click="$toggle('statusGroupOpen')" class="collapsed" data-toggle="collapse" href="#collapseStatus">Status
<span><i class="far"></i></span>
</a>
</p>
<div class="collapse @if ($statusGroupOpen) show @endif" id="collapseStatus">
它有效,缺点是每次打开/关闭块时它都会发出请求。
如果有人有更好的主意,我会听。目前,上面的代码有效。