Item.vue 811 Bytes
<script>
    export default {
        name: 'MenuItem',
        functional: true,
        props: {
            icon: {
                type: String,
                default: ''
            },
            title: {
                type: String,
                default: ''
            }
        },
        render(h, context) {
            const {icon, title} = context.props;
            const vnodes = [];
            if (icon) {
                if (icon.indexOf('el-') === 0) {
                    vnodes.push(<i class={icon} />);
                } else {
                    vnodes.push(<svg-icon icon-class={icon} />);
                }
            }

            if (title) {
                vnodes.push(<span slot="title">{title}</span>);
            }
            return vnodes;
        }
    };
</script>