利用JS实现树形结构菜单展开收缩代码



20 76 26



特效描述:利用JS实现 树形结构菜单 展开收缩代码,利用JS实现树形结构菜单展开收缩代码

代码结构

1. 引入JS

<script src="js/vue.js"></script>

2. HTML代码

<div id="demo">
	<div class="l_tree_container">
		<ew-tree :model="testdata"></ew-tree>
	</div>
</div>
<script>
    // 树组件
    Vue.component('ew-tree', {
        template: `
        <ul class="l_tree">
            <li class="l_tree_branch" v-for="item in model" :key="item.id">
                <div class="l_tree_click">
                    <button type="button" class="l_tree_children_btn" v-if="item.children"  @click="toggle(item)">{{ !item.show ? '-' : '+' }}</button>
                    <span class="l_folder">{{ item.name }}</span>
                </div>
                <ew-tree v-show="!item.show" v-if="item.children" :model="item.children"></ew-tree>
            </li>
        </ul>`,
        props: {
            model: {}
        },
        methods: {
            toggle: function (item) {
                var idx = this.model.indexOf(item)
                Vue.set(this.model[idx], 'show', !item.show)
            }
        }
    });
    new Vue({
        el: "#demo",
        data() {
            return {
                testdata: [
                    {
                        name: "一级菜单",
                        children: [
                            {
                                name: '二级菜单',
                                children: [
                                    {
                                        name: '三级菜单'
                                    },
                                    {
                                        name: '三级菜单'
                                    }
                                ]
                            },
                            {
                                name: '二级菜单',
                                children: [
                                    {
                                        name: '三级菜单',
                                        children: [
                                            {
                                                name: '四级菜单'
                                            },
                                            {
                                                name: '四级菜单'
                                            },
                                            {
                                                name: '四级菜单'
                                            }
                                        ]
                                    },
                                    {
                                        name: '三级菜单',
                                        children: [
                                            {
                                                name: '四级菜单',
                                            }
                                        ]
                                    }
                                ]
                            },
                            {
                                name: '二级菜单',
                                children: [
                                    {
                                        name: '三级菜单'
                                    },
                                    {
                                        name: '三级菜单'
                                    }
                                ]
                            }
                        ]
                    }
                ]
            }
        }
    })
</script>
<div style="text-align:center;margin:50px 0; font:normal 14px/24px 'MicroSoft YaHei';">
</div>



用户评论
大牛,别默默的看了,快登录帮我点评一下吧!:)      登录 | 注册


热门标签: flash导航菜单 flash导航条 flash导航 flash菜单 flash下拉菜单 flash下拉导航菜单 h5动画导航 h5动画菜单 html5动画导航 html5动画菜单 收缩菜单 收缩导航 右键菜单 导航切换 菜单切换 浮动菜单 浮动导航 滑动导航菜单 滑动导航 滑动菜单 滚动导航菜单 滚动菜单 滚动导航 收缩展开 展开收缩 收缩 展开 导航菜单 导航条 菜单栏 导航栏 分类导航 响应式导航条 响应式导航 收缩菜单 收缩导航 树形菜单 树形导航

×
×

注册

官方QQ群

扫描上面二维码加微信群

官方QQ群

jQuery/js讨论群
群号:642649996
Css3+Html5讨论群
群号:322131262

加群请备注:从官网了解到