<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                >[success] # 正式使用 ~~~ 1.上篇文章將這個菜單組件拆分成三個部分依次是: 1.1'a-menu.vue' 用來負責整菜單樣式,因此不是我們遞歸目標 1.2'a-menu-item' 用來展示可以點擊的菜單,根據下面數據分析 只要沒有children的就展示即可因此也不是遞歸對象 1.3'a-submenu.vue' 是需要嵌套進'a-menu-item.vue' 因此整體需要遞歸 ~~~ >[info] ## 使用和二次遞歸封裝 ~~~ 1.根據上面分析所以需要把 上面1.3步驟進行重新的封裝方便遞歸使用 ~~~ >[danger] ##### 封裝一個遞歸組件 ~~~ <template> <a-submenu> <div slot="title">{{ parent.title }}</div> <template v-for="(item, i) in parent.children"> <a-menu-item v-if="!item.children" :key="`menu_item_${index}_${i}`">{{ item.title }}</a-menu-item> <!--自調用--> <re-submenu v-else :key="`menu_item_${index}_${i}`" :parent="item"></re-submenu> </template> </a-submenu> </template> <script> import menuComponents from '_c/menu' const { AMenuItem, ASubmenu } = menuComponents export default { name: 'ReSubmenu', components: { AMenuItem, ASubmenu }, props: { parent: { type: Object, default: () => ({}) }, index: Number } } </script> ~~~ >[danger] ##### 使用 ~~~ <template> <div class="menu-box"> <!-- <a-menu> <a-menu-item>1111</a-menu-item> <a-menu-item>2222</a-menu-item> <a-submenu> <div slot="title">3333</div> <a-menu-item>3333-11</a-menu-item> <a-submenu> <div slot="title">3333-22</div> <a-menu-item>3333-22-11</a-menu-item> <a-menu-item>3333-22-22</a-menu-item> </a-submenu> </a-submenu> </a-menu> --> <a-menu> <template v-for="(item, index) in list"> <a-menu-item v-if="!item.children" :key="`menu_item_${index}`">{{ item.title }}</a-menu-item> <re-submenu v-else :key="`menu_item_${index}`" :parent="item" :index="index"></re-submenu> </template> </a-menu> </div> </template> <script> import menuComponents from '_c/menu' import ReSubmenu from './re-submenu.vue' const { AMenu, AMenuItem, ASubmenu } = menuComponents export default { name: 'menu_page', components: { AMenu, AMenuItem, ASubmenu, ReSubmenu }, data () { return { list: [ { title: '1111' }, { title: '2222' }, { title: '3333', children: [ { title: '3333-1' }, { title: '3333-2', children: [ { title: '3333-2-1' }, { title: '3333-2-2' }, { title: '3333-2-3', children: [ { title: '3333-2-3-1' }, { title: '3333-2-3-2' } ] } ] } ] } ] } } } </script> <style lang="less"> .menu-box{ width: 300px; height: 400px; } </style> ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看