美文网首页
JSON数据反向递归

JSON数据反向递归

作者: 一沭丶 | 来源:发表于2018-12-17 09:34 被阅读18次

需求: 根据url上的菜单id,激活左侧菜单的选中状态并展开对应的父级菜单

数据:

https://www.easy-mock.com/mock/5c16fb992060e52d3e56392d/menuList/list

方法:

    // 根据Id激活当前菜单所有父级菜单
    // list 为上面接口返回的数据
    let _list = JSON.parse(JSON.stringify(list));
    const id = this.$route.params.id;

      const depMenu = (children, id, obj ) => {
        obj = obj ? obj : {};
        children.map((item, index) => {
          if (item.id == id) {
            if(obj.id) {
              obj.expand = true;
              depMenu(_list, obj.id);
            }
            return;
          } else {
            if (item.children && item.children.length) {
              depMenu(item.children, id, item);
            }
          }
        });
      };

      depMenu(_list, id);

      console.log(_list);

相关文章

网友评论

      本文标题:JSON数据反向递归

      本文链接:https://www.haomeiwen.com/subject/nhqqkqtx.html