最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

VUE遞歸樹形實(shí)現(xiàn)多級(jí)列表

 更新時(shí)間:2022年07月15日 11:25:37   作者:賴賴賴先生  
這篇文章主要為大家詳細(xì)介紹了VUE遞歸樹形實(shí)現(xiàn)多級(jí)列表,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了VUE遞歸樹形實(shí)現(xiàn)多級(jí)列表,供大家參考,具體內(nèi)容如下

什么是遞歸?

簡(jiǎn)單來說就是在組件中內(nèi)使用組件本身。

為什么要用遞歸?

如果出現(xiàn)很多下拉菜單,同級(jí),分級(jí)數(shù)據(jù),層級(jí)混雜,可以使用v-for的嵌套循環(huán)不就完事了。對(duì),沒毛病這樣的話也可以做,但是如果數(shù)據(jù)又多加了【很多】級(jí)分類呢;使用v-for也能實(shí)現(xiàn),但是代碼可能會(huì)比較雜或混亂!也不適合后期的維護(hù),這個(gè)時(shí)候呢,我們就可以使用我們所說道的【遞歸組件 】了,使用遞歸組件,無論你的數(shù)據(jù)怎么增加我們都不用改動(dòng)我們的代碼。

先看效果:

1、創(chuàng)建兩個(gè)文件

父組件tree.vue 子組件tree-detail

父組件代碼:

<template>
? ? <div id="tree">
? ? ? ? <treedetail
? ? ? ?:title="list.name"?? ?//把值傳給子組件
? ? ? ?:list="list.children" //把值傳給子組件
? ? ? ? :num='0'
? ? ? ? >
? ? ? ? </treedetail>
? ? </div>
</template>
<script>

/**
?* 模擬一個(gè)樹形結(jié)構(gòu)圖
?*/
const list = {
? name: "電子產(chǎn)品",
? children: [
? ? {
? ? ? name: "電視",
? ? ? children: [
? ? ? ? {
? ? ? ? ? name: "philips",
? ? ? ? ? children: [
? ? ? ? ? ? { name: "philips-A" },
? ? ? ? ? ? { name: "philips-B" },
? ? ? ? ? ? { name: "philips-C" }
? ? ? ? ? ]
? ? ? ? },
? ? ? ? {
? ? ? ? ? name: "Tcl",
? ? ? ? ? children: [
? ? ? ? ? ? { name: "Mac Air" },
? ? ? ? ? ? { name: "Mac Pro" },
? ? ? ? ? ? {
? ? ? ? ? ? ? name: "ThinlPad",
? ? ? ? ? ? ? children: [
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? name: "ThinlPad-A",
? ? ? ? ? ? ? ? ? children: [
? ? ? ? ? ? ? ? ? ? { name: "ThinlPad-A-a" },
? ? ? ? ? ? ? ? ? ? { name: "ThinlPad-A-b" },
? ? ? ? ? ? ? ? ? ? { name: "ThinlPad-A-c" }
? ? ? ? ? ? ? ? ? ]
? ? ? ? ? ? ? ? },
? ? ? ? ? ? ? ? { name: "ThinlPad-B" },
? ? ? ? ? ? ? ? { name: "ThinlPad-C" },
? ? ? ? ? ? ? ? { name: "ThinlPad-D" }
? ? ? ? ? ? ? ]
? ? ? ? ? ? }
? ? ? ? ? ]
? ? ? ? },
? ? ? ? { name: "海興" }
? ? ? ]
? ? },
? ? {
? ? ? name: "電腦",
? ? ? children: [{ name: "acer" }, { name: "聯(lián)想" }, { name: "惠普" }]
? ? },
? ? {
? ? ? name: "可穿戴的設(shè)備",
? ? ? children: [
? ? ? ? {
? ? ? ? ? name: "手環(huán)",
? ? ? ? ? children: [
? ? ? ? ? ? { name: "華為B5手環(huán)" },
? ? ? ? ? ? { name: "小米手環(huán)" },
? ? ? ? ? ? { name: "iphone手環(huán)" }
? ? ? ? ? ]
? ? ? ? }
? ? ? ]
? ? }
? ]
};
import treedetail from '../tree/treedetail'?
export default{
? ? name:'tree',
? ? data(){
? ? ? ? return{list}
? ? },
? ? components:{treedetail} ?//注冊(cè)子組件
}
</script>

子組件代碼:

<template>
<div id="treedetail" >
? ? <div class="treedetail" @click="btn()" :style="indent"> ?//btn是用來切換顯示隱藏
? ? ? ? <span>{{flag ? '-' :'+'}}</span>?
? ? ? ? <span>{{title}}</span> //接收到的標(biāo)題
? ? ? ? </div> ?
? ? ?<div ?v-if="flag"> ?//這里加顯示隱藏也是必要的
? ? ? ? <treedetail ?//treedetail這里的命名要跟父組件注冊(cè)子組件名稱一樣,不然無法顯示。DIV就無法顯示
? ? ? ? v-for="(item,index) in list"?
? ? ? ? :key="index"
? ? ? ? :title="item.name"
? ? ? ? :list='item.children' ?//渲染列表下的列表數(shù)據(jù)
? ? ? ? :num='num + 1' //這里的作用應(yīng)該是分清層級(jí)。
? ? ? ? ></treedetail>
? ? </div> ??
??
? ? </div>
</template>
<script>
export default {
? ? name:'treedetail',
? ? props:{
? ? ? ? title:{
? ? ? ? ? ? type:String,
? ? ? ? ? ? default:'名稱'
? ? ? ? },
? ? ? ? list:{type:Array},
? ? ? ? num:{
? ? ? ? ? ? type:Number,
? ? ? ? ? ? default:0
? ? ? ? }
? ? },
? ? data(){
? ? ? ? return{
? ? ? ? ? ? flag:false
? ? ? ? }
? ? },
? ? methods:{
? ? ? ? btn(){
? ? ? ? ? ? this.flag=!this.flag
? ? ? ? }
? ? },
? ? computed:{
? ? ? ? indent(){
? ? ? ? ? ? return `transform: translate(${this.num*20}px)`;?
? ? ? ??
? ? ? ? ? ??
? ? ? ? }
? ? }

}
</script>

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 原生JS實(shí)現(xiàn)Vue transition fade過渡動(dòng)畫效果示例

    原生JS實(shí)現(xiàn)Vue transition fade過渡動(dòng)畫效果示例

    這篇文章主要為大家介紹了原生JS實(shí)現(xiàn)Vue transition fade過渡動(dòng)畫效果示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • Vue3獲取和操作DOM元素的項(xiàng)目實(shí)踐

    Vue3獲取和操作DOM元素的項(xiàng)目實(shí)踐

    在Vue3中,有時(shí)我們需要直接操作DOM節(jié)點(diǎn),本文主要介紹了Vue3獲取和操作DOM元素的項(xiàng)目實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-08-08
  • vue.js中引入vuex儲(chǔ)存接口數(shù)據(jù)及調(diào)用的詳細(xì)流程

    vue.js中引入vuex儲(chǔ)存接口數(shù)據(jù)及調(diào)用的詳細(xì)流程

    這篇文章主要給大家介紹了關(guān)于在vue.js中引入vuex儲(chǔ)存接口數(shù)據(jù)及調(diào)用的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-12-12
  • vue3+vue-router+vite實(shí)現(xiàn)動(dòng)態(tài)路由的全過程

    vue3+vue-router+vite實(shí)現(xiàn)動(dòng)態(tài)路由的全過程

    動(dòng)態(tài)路由是根據(jù)不同情況實(shí)時(shí)變化的路由,在權(quán)限管理系統(tǒng)中,動(dòng)態(tài)路由常用于根據(jù)用戶角色分配不同的菜單和功能,這篇文章主要介紹了vue3+vue-router+vite實(shí)現(xiàn)動(dòng)態(tài)路由的相關(guān)資料,需要的朋友可以參考下
    2024-10-10
  • vue頂部菜單欄實(shí)現(xiàn)小結(jié)

    vue頂部菜單欄實(shí)現(xiàn)小結(jié)

    這篇文章主要介紹了vue頂部菜單欄實(shí)現(xiàn)小結(jié),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • vue中g(shù)etters的使用與四個(gè)map方法的使用方式

    vue中g(shù)etters的使用與四個(gè)map方法的使用方式

    這篇文章主要介紹了vue中g(shù)etters的使用與四個(gè)map方法的使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • unplugin-auto-import與unplugin-vue-components安裝問題解析

    unplugin-auto-import與unplugin-vue-components安裝問題解析

    這篇文章主要為大家介紹了unplugin-auto-import與unplugin-vue-components問題解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • 如何使用vue實(shí)現(xiàn)前端導(dǎo)入excel數(shù)據(jù)

    如何使用vue實(shí)現(xiàn)前端導(dǎo)入excel數(shù)據(jù)

    在實(shí)際開發(fā)中導(dǎo)入功能是非常常見的,導(dǎo)入功能前端并不難,下面這篇文章主要給大家介紹了關(guān)于如何使用vue實(shí)現(xiàn)前端導(dǎo)入excel數(shù)據(jù)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-04-04
  • vue項(xiàng)目引入svg圖標(biāo)的完整步驟

    vue項(xiàng)目引入svg圖標(biāo)的完整步驟

    在實(shí)際的項(xiàng)目開發(fā)中,使用svg圖標(biāo)占用內(nèi)存比圖片更小,映入圖片內(nèi)存比較大,同時(shí)也適用于不同屏幕的尺寸,下面這篇文章主要給大家介紹了關(guān)于vue項(xiàng)目引入svg圖標(biāo)的完整步驟,需要的朋友可以參考下
    2022-10-10
  • element-plus結(jié)合sortablejs實(shí)現(xiàn)table行拖拽效果

    element-plus結(jié)合sortablejs實(shí)現(xiàn)table行拖拽效果

    使用element-plus的el-table組件創(chuàng)建出來的table,結(jié)合sortable.js實(shí)現(xiàn)table行拖動(dòng)排序,文中有詳細(xì)的代碼示例供大家參考,具有一定的參考價(jià)值,感興趣的同學(xué)可以自己動(dòng)手試一試
    2023-10-10

最新評(píng)論

怀安县| 平潭县| 班戈县| 同仁县| 浙江省| 沧源| 任丘市| 礼泉县| 仁寿县| 柘城县| 阜平县| 慈溪市| 建水县| 芮城县| 年辖:市辖区| 静安区| 佳木斯市| 宝兴县| 达州市| 普定县| 万山特区| 望都县| 定州市| 灵台县| 五原县| 墨脱县| 临湘市| 陆良县| 永嘉县| 中牟县| 深水埗区| 宿迁市| 乐亭县| 眉山市| 汉阴县| 福泉市| 襄城县| 中卫市| 南充市| 屏东市| 仲巴县|