laravel - Laravel Livewire:在更新之间保持隐藏/显示组件的状态
问题描述
因此,我的 livewire 组件在我的站点中显示了一个左侧栏,其中包含一些搜索字段(文本、描述等)和一个显示在第一次加载时折叠的区域(我相信它使用 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">
它包含一些复选框,并显示如下内容:
现在,如果我关闭它(例如,通过单击状态字符串)并在文本框中输入一些内容(例如名称 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">
它有效,缺点是每次打开/关闭块时它都会发送一个请求。
如果有人有更好的主意,我在听。目前,上述代码有效。
推荐阅读
- sql - 在 MS Access 中,创建动态查询后,如何使用记录集中的相应值更新表单上的文本框?
- c - (libwebsocket) 如何在客户端连接上发送数据包
- javascript - 单击同一 nodeList 中的任何节点时从 nodeList 中删除类名
- .net - 尝试使用 Q# 设置元组时出现错误“设置语句必须具有变量或数组元素目标”
- java - 迭代 LDAP 搜索结果
- sql - 不同字段的 Sql 代码
- c# - WindowsAzure.Storage,版本 = 9.3.0.0 - 异常无法加载文件或程序集
- c++ - C ++获取两个分隔符之间的字符串并替换它
- nativescript - Nativescript Sidekick 云构建错误 Android
- google-apps-script - 使用 Session.getActiveUser().getEmail() 的共享脚本冲突