vue原生渲染树形节点数据

创建容器

      <div id="dom" @click="hmrlcl"></div>

处理函数:直接把树形结构传进来,返回html


 jiegou(arr) {
      let html = ""; //每次都创建一个空值
      arr.forEach((item, index) => {
        if (item.children) {
          //有下级   需要调本函数再次处理 直到没有下级
          html += `<div  data-desc=${item.id} data-index=${index} data-title=${
            item.title
          } style="${
            index == this.treeIndex
              ? "border-bottom: 1px solid #f3f3f3;padding:0.2rem;display: flex; align-items: center;justify-content: space-between;font-weight: bold;  "
              : "border-bottom: 1px solid #f3f3f3;padding:0.2rem;display: flex; align-items: center;justify-content: space-between;"
          }" >${item.title}
         <div style=" ${
           index == this.treeIndex
             ? " transform:rotate(90deg);margin-right:0.2rem"
             : ""
         }">
         <img 
          style="width: 0.16rem;margin-right: 0.32rem; "
          src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAnCAYAAAALkrgzAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAACxIAAAsSAdLdfvwAAAEwSURBVEhLzde9jcJAEIZhHzRAC9cJDViig4PELofYkaECEudHCUcHXOT0OvDNt3+wwj87OxPwSqtlCB4tBiG7GIYhrKqqts+zZK0KV13XJ9q+ad/bd2QZ2KFfeE21Gvi67/st7Uc7hnZd1/2WZfnjZnarpmmutB/sGCU6ubkUhONSqOLhy9PGA4w08QhGWvgLjDTwURhJ8UkYSfBZGOXiizDKwZNgxMWTYcTBWTBKxdkwSsE/8G+fm0NaO0V9Zp3Y505+tlPU/v1OPIMe6JPcs+AFFJeH/6tIQRELTkVRMsxBURLMRdEinIOiWTgXRZOwBEWjsBRFL7AGiiJYC0UB1kSRgbVR5O+PL3aMykYRToyb65uZHolQhBvvP9pxao+LUZN/yqEnpg2tnZ9layj+AW79PBNSxACgAAAAAElFTkSuQmCC"
          alt=""
        />
         </div>
         </div>
                   <div  data-desc=${item.id} data-index=${index} data-title=${
            item.title
          } style="${
            index == this.treeIndex ? "" : "display:none;"
          }"> ${this.jiegou(item.children)}</div>
                            `;
        } else {
          //没有下级 直接渲染结构
          html += ` <div  data-chtitle=${item.title}    style="padding:0.2rem; padding-left:0.64rem;border-bottom: 1px solid #f3f3f3;" >${item.title}  
        </div>`;
        }
      });
      return html; //处理完的结果输出
    },

插入html

    // 单位点击事件
    hmrlcl(event) {![在这里插入图片描述](https://img-blog.csdnimg.cn/d0edd210a2914a1c97aa984b918ed357.png#pic_center)

      // this.treeapi("1123598813738675569");
      let dom = document.getElementById("dom");
      dom.innerHTML = this.jiegou(this.data);
    },

在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值