关于树状结构 bootstrap-treeview的使用——前台拼接JSON

这篇博客介绍了如何在前端使用JavaScript和jQuery,结合bootstrap-treeview插件,通过动态拼接后台数据创建树状结构。内容包括数据结构要求、拼接方法、引入插件的步骤以及解决异步问题。特别强调了数据必须是3级结构,且每个节点需要name、id、pid字段,并给出了详细的代码示例。
摘要由CSDN通过智能技术生成

        一般的bootstrap-treeview数据都是后台传一个拼接好的json数据过来,前台显示,这里我采用后台传递普通数据,然后前台拼接的方式显示树状结构。

        本文主要将bootstrap-treeview数据源的拼接,如果对bootstrap-treeview的基本语法不了解的话建议先看bootstrap-treeview的文档:

        基于bootstrap的jQuery多级列表树插件_jQuery之家-自由分享jQuery、html5、css3的插件库

        本文没有采用递归、嵌套等方法循环后台数据,直接就是3个循环语句,所以只直接对3级分类的菜单有效,如果是4级等以上菜单,需要自己再添加一层循环。

目录

需要达成的目的:

使用技术:

数据结构要求:

引入bootstrap-treeview:

页面代码:

js代码:

css样式:

bootstrap-treeview的坑:


需要达成的目的:

        对3级的菜单等数据结构进行树状显示,结果如下:

        

使用技术:

        前台脚本:js/jq,没有使用vue等其他脚本

        获取后台数据:axios

        额外脚本、样式:bootstrap-treeview,这是主要的样式、脚本。

        

数据结构要求:

对于数据结构有特定要求:

        1)必须是3级结构,因为前台的拼接语句是写死的,所以超出3级就需要自己再添加一级循环语句,是3级结构就可以直接使用。

        2)每条数据都要有字段:name、id、pid

        id、pid必须有着逻辑关系:

                1级的id == 对应的2级的pid,2级的id == 对应的3d级的pid

        name需要放入bootstrap-treeview 的数据的固定属性 text

                树状结构的每一个节点都至少需要一个text属性,其余属性都是非必须的。

                如果 text 没搞懂,需要去看看上面的 bootstrap-treeview的文档。

        如果还有其余字段,可以在拼接时自行添加到属性中。

后台数据只有满足这2点,才可以直接使用方法,不然需要改造 if() 语句。

具体代码样式:

{id: 1, goodsTypeName: '1级菜单1', pid: 0}
{id: 2, goodsTypeName: '1级菜单2', pid: 0}

{id: 3, goodsTypeName: '2级菜单1', pid: 1}
{id: 4, goodsTypeName: '2级菜单2', pid: 2}
{id: 5, goodsTypeName: '2级菜单3', pid: 2}

{id: 6, goodsTypeName: '3级菜单1', pid: 3}
{id: 7, goodsTypeName: '3级菜单2', pid: 4}
{id: 8, goodsTypeName: '3级菜单3', pid: 4}

这个例子里

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值