使用vue递龟遇到 Cannot use v-for on stateful component root element because it renders multiple elements


什么时候遇到的问题?

答:在我做 left-menu的递龟的时候,使用了 根组件作为循环体,如下

    <template v-for="(item) in list">
            <el-submenu v-if="!!item.children" :index="item.id" >
                <template slot="title">
                    <i :class="item.iconclass">i>
                    <span slot="title">{{ item.name }}span>
                template>
                <tree-menu :list="item.children">tree-menu>
            el-submenu>
            <el-menu-item :index="item.id" v-else>
                <i :class="item.iconclass">i>
                <span slot="title" >{{ item.name }}span>
            el-menu-item>
        template>

解决方案1:

 在根节点外层套上 一层div

  <div>
        <template v-for="(item) in list">
            <el-submenu v-if="!!item.children" :index="item.meta.id" >
                <template slot="title">
                    <i :class="item.meta.iconclass">i>
                    <span slot="title">{{ item.meta.name }}span>
                template>
                <tree-menu :list="item.children">tree-menu>
            el-submenu>
            <el-menu-item :index="item.meta.id" v-else>
                <i :class="item.meta.iconclass">i>
                <span slot="title" >{{ item.meta.name }}span>
            el-menu-item>
        template>
    div>

问题:这里我使用