在后台管理系统、数据展示平台中,树形二级列表展示和页面之间数据传参是最基础且高频的核心需求。常见应用场景:分类层级展示、父子级数据列表、点击主条目跳转详情页并携带对应数据。
本文将基于 jQuery 实战代码,完整拆解两大核心功能:
- 父子级二级列表动态渲染 + 折叠/展开交互逻辑
本次实战分为 主页面 和 子页面 两个模块,完整业务流程如下: - 子页面:页面加载后读取本地存储的参数,解析数据并渲染二级子数据,同时清空本地存储,避免数据残留。
二、核心功能一:二级树形列表动态渲染与折叠交互
2.1.1 一级列表渲染逻辑 - 嵌入箭头图标,并绑定 data-id,作为折叠展开的触发标识。
每次渲染完一条一级数据后,立即判断当前条目 children 数组长度是否大于0,若存在子数据,则进入二层循环渲染二级列表。
2.2 二级列表折叠/展开交互原理
代码使用 $(document).on('click', '.arrows', function(){}) 事件委托,而非直接绑定点击事件。 - 点击箭头时,通过 $(this).data('id') 获取当前父级条目的ID。
该逻辑可以实现:一对一精准控制,不同父级的二级列表完全独立交互,是树形列表最标准的实现方案。
前端跨页面传参常见方案:URL拼接参数、sessionStorage、localStorage、cookie。本项目选择 localStorage,适合传递完整对象数据,无长度限制、使用简单。
点击「查看详情」按钮时,触发自定义点击事件,完成数据获取、存储、跳转三步操作。 - 精准匹配行数据:通过数组 find 方法,根据ID从原始数组中匹配出完整的当前行对象数据(包含一级数据和所有二级children子数据)。
3.2 子页面:数据读取、解析与回显 - 读取本地数据:通过 localStorage.getItem('chuandi') 获取存储的字符串数据。
- 数据渲染:调用自定义函数遍历数据,渲染所有二级子条目。
✅ 方案优势
- 数据精准,通过ID匹配,不会出现数据串扰问题。
- 不清除本地缓存:二次打开页面会加载上一次的旧数据。
四、子页面数据渲染逻辑拆解
- 外层循环遍历传递过来的一级数据数组。
- 最终插入页面容器,完成数据回显。
五、整体代码优化总结 - 兼容性强:事件委托适配动态DOM,容错代码避免空数据报错。
5.2 可拓展方向
- 增加参数校验,过滤空数据、异常数据。
六、全文核心思路复盘
- 编码思想:功能模块化、逻辑解耦、容错处理、精准匹配,是前端数据列表开发的通用标准思路,可直接复用在各类后台管理项目中。