国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Vue樹形數(shù)據(jù)處理(js)

DesGemini / 1019人閱讀

摘要:當(dāng)前需求層級(jí)列表中選中某個(gè)元素則獲取最底層子集并用逗號(hào)連接數(shù)據(jù)形式遍歷方法可參考,寫的很詳細(xì)具體操作首先找到選擇元素的在樹形數(shù)據(jù)中的位置,并獲取他找尋相同的的元素找尋他的最底層子元素,也就是所有沒有子集的元素找當(dāng)前的子元素的

當(dāng)前需求:層級(jí)列表中選中某個(gè)元素,則獲取最底層子集id,并用逗號(hào)連接(1,2,3,4,5);

數(shù)據(jù)形式:
let data = [{
            id:"1",
            children:[{
                id:"11",
                children:[{
                    id:"111",
                    children:null
                },
                {
                    id:"112",
                    children:null
                },
                {
                    id:"113",
                    children:null
                }]
            },
            {
                id:"12",
                children:[{
                    id:"121",
                    children:null
                },
                {
                    id:"122",
                    children:null
                },
                {
                    id:"123",
                    children:null
                }]
            }]

        }];

遍歷方法可參考:https://blog.csdn.net/chaos_h...,寫的很詳細(xì)
具體操作:首先找到選擇元素的id在樹形數(shù)據(jù)中的位置,并獲取他

找尋id相同的的元素
findSameId(tree, id) {
            let isGet = false;
            let retNode = null;
            function deepSearch(tree, id) {
                for (var i = 0; i < tree.length; i++) {
                    if (tree[i].children && tree[i].children.length > 0) {
                        deepSearch(tree[i].children, id);
                    }
                    if (id === tree[i].id || isGet) {
                        isGet || (retNode = tree[i]);
                        isGet = true;
                        break;
                    }
                }
            }
            deepSearch(tree, id);
            return retNode;
        };

找尋他的最底層子元素,也就是所有沒有子集的元素

找當(dāng)前id的子元素的id
findChildId(data) {
            console.log(data, 678);
            console.log(data.children, 678);

            if (data.children !== null) {
                for (let i = 0; i < data.children.length; i++) {
                    console.log(data.children[i], i);
                    const childrens = data.children[i];

                    if (childrens.hasOwnProperty("children") && childrens.children && childrens.children.length !== 0) {
                        console.log("-------");

                        console.log(childrens, i);
                        console.log("-------");

                        this.findChildId(childrens);
                    } else {
                        this.sideIds.push(childrens.id);
                    }
                   
                }
            } else {
                this.sideIds.push(data.id);
            }
        }

### 由于本身是vue下的處理 handleSelectDept是觸發(fā)點(diǎn)擊獲取到對(duì)應(yīng)id; this.sideIds是本身在data里里定義了的

data(){
            return{
                sideIds:[]
            }
        }
觸發(fā)效果
handleSelectDept(key) {
            this.sideIds = [];//每次點(diǎn)擊需要把本身的sideIds清空
            const dataId = this.findSameId(this.treeData, key);
            this.findChildId(dataId);
            console.log(this.sideIds, 9999)
            this.$set(this.queryForm, "depIds", this.sideIds.join(","));
            console.log(this.queryForm, 989);
            this.getTableData();
        }

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/106719.html

相關(guān)文章

  • 基于vue.js實(shí)現(xiàn)樹形表格的封裝

    摘要:此頁面是實(shí)現(xiàn)樹表格的關(guān)健頁面。這里就是關(guān)健點(diǎn),因?yàn)檫@個(gè)子組件是需要遞歸實(shí)現(xiàn),所以,需要?jiǎng)討B(tài)注冊到當(dāng)前組件中。補(bǔ)充一點(diǎn)不要只看部分,部分才是這個(gè)樹表格的關(guān)健所在。 基于vue.js實(shí)現(xiàn)樹形表格的封裝(vue-tree-table) 前言 由于公司產(chǎn)品(基于vue.js)需要,要實(shí)現(xiàn)一個(gè)樹形表格的功能,百度、google找了一通,并沒有發(fā)現(xiàn)很靠譜的,也不是很靈活。所以就用vue自己擼了一個(gè)...

    yedf 評(píng)論0 收藏0
  • vue-orgchart: 可編輯,可導(dǎo)出 JSON 的樹形組織圖

    摘要:調(diào)研最近公司有個(gè)需求,做一個(gè)可編輯的樹形組織圖。前言首先感謝的如果你想用的封裝,可以直接用我的項(xiàng)目功能格式導(dǎo)入導(dǎo)出樹形關(guān)系圖支持樹形關(guān)系圖導(dǎo)出圖片可拖拉樹形關(guān)系圖可編輯樹形關(guān)系圖預(yù)覽項(xiàng)目地址文檔地址 調(diào)研 最近公司有個(gè)需求,做一個(gè)可編輯的樹形組織圖。我第一個(gè)想到的是ECharts,可當(dāng)時(shí)并沒有(最近一個(gè)版本出了樹圖也不是組織圖);然后想到了AntV G6(上手難度有點(diǎn)大也不是組織圖);...

    lidashuang 評(píng)論0 收藏0
  • vue樹形菜單

    摘要:樹形菜單由于項(xiàng)目原因,沒有使用框架上的樹形菜單,所以自己動(dòng)手并參考大佬的代碼寫了一個(gè)樹形菜單的組件,話不多說,直接上代碼。 vue樹形菜單 由于項(xiàng)目原因,沒有使用ui框架上的樹形菜單,所以自己動(dòng)手并參考大佬的代碼寫了一個(gè)樹形菜單的組件,話不多說,直接上代碼。html代碼showImg(https://segmentfault.com/img/bV5Bq4?w=1015&h=269);j...

    BlackHole1 評(píng)論0 收藏0
  • vue樹形菜單

    摘要:樹形菜單由于項(xiàng)目原因,沒有使用框架上的樹形菜單,所以自己動(dòng)手并參考大佬的代碼寫了一個(gè)樹形菜單的組件,話不多說,直接上代碼。 vue樹形菜單 由于項(xiàng)目原因,沒有使用ui框架上的樹形菜單,所以自己動(dòng)手并參考大佬的代碼寫了一個(gè)樹形菜單的組件,話不多說,直接上代碼。html代碼showImg(https://segmentfault.com/img/bV5Bq4?w=1015&h=269);j...

    phoenixsky 評(píng)論0 收藏0
  • vue+element tree(樹形控件數(shù)據(jù)格式)組件(1)

    摘要:樹形控件數(shù)據(jù)格式組件最近做了第一個(gè)組內(nèi)可以使用的組件,雖然是最簡版,也廢了不少力。讓我來記錄這個(gè)樹形組件的編寫過程和期間用到的知識(shí)點(diǎn)。 vue+element tree(樹形控件數(shù)據(jù)格式)組件(1), 最近做了第一個(gè)組內(nèi)可以使用的組件,雖然是最簡版,也廢了不少力。各位前輩幫我解決問題,才勉強(qiáng)搞定。讓我來記錄這個(gè)樹形組件的編寫過程和期間用到的知識(shí)點(diǎn)。 首先說說需求,就是點(diǎn)擊出現(xiàn)彈窗+蒙板...

    Pines_Cheng 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<