当前位置: 首页 > news >正文

小程序-树形结构

递归多级的树形结构,用二位数组展示和收缩的
planList2: [{name: '第一个',value: '1',pid: 0, // 父级 = 关联上一个级别current: 123456, // 当前 = 唯一值leftIndex: 0, // 缩进位移primary: 1 // 主键 = 区分多个层级的 展示-收缩3个级别
      },{name: '第一个- 第1个',value: 2,pid: 123456,current: 555123,leftIndex: 1, // 缩进位移
          },{name: '第一个- 第2个', value: 3,pid: 123456,current: 555234, // 父级 - 子leftIndex: 1, // 缩进位移primary: 2 // 主键 如果有children 子级,就把 index 加到 primary 上面。
          },{name: '第2级- 第1个 第1个',value: 4,pid: 555234,leftIndex: 2, // 缩进位移current: 666123,  // 父级 - 子
              },{name: '第2级- 第2个 第2个',value: 5,pid: 555234,leftIndex: 2, // 缩进位移current: 666234,},// 第二个
          {name: '第一个- 第3个',value: 6,pid: 123456,current: 555456, // 父级 - 子leftIndex: 1, // 缩进位移primary: 2 // 主键
          },{name: '第3级- 第1个 第1个',value: 7,pid: 555456,leftIndex: 2, // 缩进位移current: 666789,  // 父级 - 子
              },{name: '第3级- 第2个 第2个',value: 9,pid: 555456,leftIndex: 2, // 缩进位移current: 666456,},{name: '第一个',value: 11,pid: 0, // 父级current: 654321, // 当前primary: 1 // 主键
      },],

 

  handleOpen(e) {const pid =  e.currentTarget.dataset.pid;const primary =  e.currentTarget.dataset.primary;const current =  e.currentTarget.dataset.current;console.log(pid,primary,current)/*** primary 存在主键 就是父级* handleOpen() *    selection_id == pid 如果是等价关系 操作显示和隐藏 */if(primary) {const selection_id = current;const planList2 = this.data.planList2;planList2.forEach(item => {if(item.pid == selection_id) {item.show = !item.show}})this.setData({selection_id,planList2});}},

 

<block wx:for="{{planList2}}" wx:key="title"><view wx:if="{{!item.show}}" bind:tap="handleOpen" data-pid="{{item.pid}}" data-primary="{{item.primary}}" data-current="{{item.current}}" style="padding-left: {{item.leftIndex * 15}}px;" class="table-item fs14" ><block wx:if="{{item.primary}}"><mp-icon  class="flex column txt-title" icon="arrow" type="outline" size="{{10}}"></mp-icon></block><text class="flex column txt-title txt color-deep-blue">{{item.name||'--'}}</text></view></block>

 

http://www.jsqmd.com/news/98926/

相关文章:

  • Foundation 输入框尺寸
  • Qwen3-VL-8B部署常见错误与实战优化
  • Foundation 开关
  • 11、Linux 写作与编辑的语法和参考工具使用指南
  • Qwen-Image-Edit多模态图像编辑技术解析
  • Linly-Talker:构建智能多模态对话系统
  • Qwen3-VL-30B本地部署与多模态实战指南
  • 什么是支付宝商户池?
  • 2025北京16区装修口碑TOP10权威榜!亿丰方圆98%满意度登顶,全区域业主实名推荐 - 品牌智鉴榜
  • Stable Diffusion 3.5 发布:图像质量与社区友好的双重突破
  • Ubuntu 20.04 安装 TensorFlow 2.5 GPU 版本
  • LobeChat能否查找参考文献?学术研究好搭档
  • 高级语言程序设计课程第十次个人作业
  • 国内外高品质私域电商系统排行榜TOP3
  • ComfyUI AnyText节点实现中英文文字生成
  • 在线教程丨微软开源VibeVoice,可实现90分钟4角色自然对话
  • 2025年市面上口碑好的产品认证机构怎么找,3C认证/CE认证/ROHS认证/REACH认证/产品认证代理推荐 - 品牌推荐师
  • 期末文献综述撰写指南:结构框架、研究方法与常见问题解析
  • 【init.rc】Android Init Language (AIL) 语法参考手册 - 指南
  • Kotaemon为何成为GitHub热门开源框架?
  • 程序员必藏:传统技术扛不动了?大模型才是新饭碗
  • 非接触热成像仪 实时成像,多接口兼容便携多功能
  • Cherry Studio联动GPT-SoVITS实现剧本语音自动化
  • EmotiVoice开源TTS引擎使用指南
  • 2025年除臭剂口碑排行榜:进口知名品牌与平价优选推荐 - 品牌推荐大师1
  • Wan2.2-T2V-A14B服务雪崩?反脆弱LLM运维指南
  • Windows 10下Anaconda环境安装OpenCV-Python指南
  • Excalidraw入驻DooTask,开启任务与手绘协作新时代
  • 翻斗雨量监测站:精准感知降水动态
  • SAP S4HANA显示CDS View的结构以及数据