实现 Svelte 中基于数组索引的 details 元素单开单关交互

本文讲解如何在 Svelte 中为 #each 循环生成的多个 <details> 元素实现「点击展开当前项、自动收起其他项」的单选式交互,避免所有元素同步开关,并通过索引精准控制开闭状态。 本文讲解如何在 svelte 中为 `#each` 循环生成的多个 `` 元素实现「点击展开当前项、自动收起其他项」的单选式交互,避免所有元素同步开关,并通过索引精准控制开闭状态。在 Svelte 应用中,当使用 {#each} 渲染一组 <details> 元素时,若直接绑定同一个布尔变量(如 bind:open={isOpen}),会导致所有折叠面板联动开关------这显然不符合"仅展开当前项"的常见交互需求。正确解法是:为每个 <details> 独立关联其索引状态,通过监听 toggle 事件动态更新当前激活索引。? 推荐实现方案核心思路是维护一个响应式变量 opened,用于记录当前处于展开状态的元素索引(初始为 null 表示全部关闭)。在循环中,利用 open={opened === i} 控制每个 <details> 的显隐,并在 on:toggle 中判断 e.target.open 状态,仅在用户主动展开时更新 opened: 幻导航网 发现优质实用网站,开启网络探索之旅!

相关推荐
AI科技星1 小时前
ELN 升级:π 级数自动生成器全域数理架构
大数据·人工智能·python·算法·金融
用户9352013986791 小时前
淘宝开放平台 item_cat_get 接口详解:获取淘宝商品类目
python
这个DBA有点耶1 小时前
3步抓出慢SQL,别等半夜被叫醒😴
数据库·代码规范
dfdfadffa2 小时前
SQL窗口函数如何优化嵌套子查询_提升执行效率
jvm·数据库·python
布吉岛的石头2 小时前
Java 中高级面试:JVM 内存模型 + GC 算法高频题总结
java·jvm·面试
时空系2 小时前
第6篇:多维数据盒——管理大量数据 python中文编程
开发语言·python·ai编程
小敬爱吃饭2 小时前
知识图谱实战第一章:知识图谱全景解析其定义、技术演进与十大应用场景
人工智能·python·目标检测·自然语言处理·flask·nlp·知识图谱
m0_588758482 小时前
如何查看集群版本_crsctl query crs activeversion当前版本
jvm·数据库·python