后台查找分类模块的分类列表怎么实现?求思路

发布于 2022-09-04 20:24:32 字数 168 浏览 16 评论 0

图片描述
要实现这种效果的?应该怎么实现?求思路?前端应该怎么布局?数据应该怎么处理?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

扎心 2022-09-11 20:24:32

这个我以前做过。这个我想,有两种方案。第一种是 逐级加载,这种应该都会操作,结合ajax。第二种就是一次性加载,这种方式步骤:
1,查询所有的类目(类目的数据库要创建好,子类需要有一个parent_id字段,还需要第几级的字段,暂且叫level--深度)
2,找到level的最大值
3,通过3层的foreach循环,最外层的循环次数就是level的最大值,最里面的两层是核心,最里层的循环任务就是,把类目赋值到父类目的数组里面,比如:
array(
0=>array('一级类目','一级子类目')
1=>array('一级类目2','一级子类目')
}
一级子类目就是二级类目了(这个可以通过深度得知),插入到新的数组之后,记得及时清理元素组中的当前数组。
注:里面两层,第一层是按顺序循环所有层级的类目,第二层就是负责把子类目放到父类目的数组里面。

最后生成的数组的结果是:

一级类目1
-------二级类目1
-------二级类目2
-------------三级类目1
-------------三级类目2
一级类目2
-------二级类目1
接下里,在前端页面里,循环,也是一层一层地,这个时候还是需要level 三层循环 按顺序 类目就出来了!!!

坐在坟头思考人生 2022-09-11 20:24:32
json数据结构
{
    data:[{// 一级菜单
            id:1,
            level:1,
            pid:0 // 父级id,因为是一级菜单,所以为0
            menu:[{ // 二级菜单
                id:2,
                level:2,
                pid:1, // 父级id,因为是二级菜单,所以为上一层菜单的id    
                menu:[{ // 三级菜单
                    id:4,
                    level:3,
                    pid:2 // 父级id,因为是三级菜单,所以为上一层菜单的id    
                }
            },{
                id:3,
                level:2,
                pid:1 // 父级id,因为是二级菜单,所以为上一层菜单的id    
            },...{}]
        },...,{}]
}

前端使用递归来遍历这个json数据:

function handleData(data,arr){
    var newArr = arr || [];
    data.forEach(function(item,index){
        newArr.push(item);
        if(item.menu){
            handleData(item.menu,newArr);
        }
    });
    return newArr;
}

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文