svelte - 如何一键关闭 DaisyUI 抽屉菜单?
问题描述
我正在使用 DaisyUI 抽屉组件在移动设备上呈现菜单。有关工作示例,请参见此处: https ://daisyui.com/components/drawer
现在在示例中,有一个按钮可用于打开和关闭移动菜单。
该按钮触发以下复选框的选中状态以显示/隐藏抽屉:
<input id="my-drawer" type="checkbox" class="drawer-toggle">
我的代码:
let checked = 'checked';
function handleClick() {
(checked == 'checked') ? checked = '': checked = 'checked';
}
在输入上:
<input id="my-drawer-3" type="checkbox" class="drawer-toggle" bind:checked={checked}>
在菜单项上:
<a on:click={handleClick} href='/test'>Test</a>
问题是我必须单击两次才能隐藏抽屉。第一次单击会触发菜单项的视觉效果。第二次点击关闭抽屉。如何一键获得相同的结果?
演示链接:
https ://svelte.dev/repl/c06f018ac84f4b86b1d37f7576d25db1?version=3.29.7
解决方案
只需将此添加到您的<a>
标签
<a on:click={() => {document.getElementById('my-drawer-3').click()}} href='/test'>Test</a>
推荐阅读
- java - 使用 Aspectj 加载时间编织来记录我的源代码(包括测试)而不记录外部库
- c++ - .h.in 文件未找到
- java - Amazon Forecast 查询 Java 集成
- instruments - 当我远程使用 R&S 网络分析仪时,我无法通过“打印到文件”来存储文件?
- javascript - 上传不同md5的文件,最后过期
- node.js - AWS Beanstalk - 在工作人员和网络服务器之间共享数据库层
- string - 为什么 jq --raw-output 参数无法从 @csv 输出中删除引号?
- android - 使用微调器选择值进行 Firebase 查询
- graphics - 双击窗口的标题栏和单击窗口的最大化按钮有什么区别吗?
- r - 传播具有重复列的 data.frame