首页 > 其他 > 详细

Ant Design Vue 2.x 递归Menu

时间:2021-08-19 17:32:27      阅读:76      评论:0      收藏:0      [点我收藏+]

使用vue函数式组件创建

Vue.component(LmSubMenu, {
    functional: true,
    render: function (createElement, context) {
        console.log(context)
        let children = [];
        context.props.menuInfo.child.forEach((item, index) => {
            if (item.child) {
                children.push(
                    createElement(lm-sub-menu, {
                        props: {menuInfo:item}
                    })
                )
            } else {
                children.push(createElement(a-menu-item, {
                    //普通html特性
                    attrs: {
                        key: item.href,
                    },
                }, item.title))
            }
        });

        return createElement(a-sub-menu, [
            createElement(span, {
                slot: title
            }, [
                createElement(a-icon, {
                    //普通html特性
                    attrs: {
                        type: team,
                    },
                }), createElement(span, context.props.menuInfo.title)]),
            ...children
        ])
    }
})

使用

<a-menu
                    class="a-menu"
                    mode="inline"
                    theme="dark"
                    :inline-collapsed="collapsed">
                <template v-for="item in initinfo.menuInfo">
                    <a-menu-item v-if="!item.child" :key="item.href">
                        <a-icon type="pie-chart"></a-icon>
                        <span>{{ item.title }}</span>
                    </a-menu-item>
                    <lm-sub-menu v-else :menu-info="item"></lm-sub-menu>
                </template>
            </a-menu>

 

Ant Design Vue 2.x 递归Menu

原文:https://www.cnblogs.com/Im-Victor/p/15162244.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!