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

不依任何賴第三方,單純用vue實現(xiàn)Tree 樹形控件的案例

 更新時間:2020年09月21日 10:33:10   作者:進(jìn)軍的蝸牛  
這篇文章主要介紹了不依任何賴第三方,單純用vue實現(xiàn)Tree 樹形控件的案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

這幾天接到一個需求,里面有需要做一個屬性組件,找的第三方的,但是不能完全滿足我的需求,有這時間,我就自己做個小輪子吧。

先看效果圖(紅點之前用的字體圖標(biāo),是個對號,這里為了方便,用圓圈代替了選中狀態(tài),所以不是太好看,需要的自行修改就好)

我直接用的vue-cli搭建的項目,代碼目錄如下:

使用方式如下:

treeData的格式如下:

treeData: [
    {open: false, name: '1', level: 0, checked: true},
    {
     open: false, // opend 是否展開子集
     name: '2',
     level: 0, //level代表第幾層
     checked: false, // checked 代表是否選中狀態(tài)
     children: [
      {
       open: false,
       name: '3',
       level: 1,
       checked: false,
       children: [
        {open: false, name: '4', level: 2, checked: false},
        {
         open: false,
         name: '5',
         level: 2,
         checked: false
        }
       ]
      }
     ]
    }
   ],

這個組件設(shè)計到幾個關(guān)鍵點如下:

1. 深度watch

由于數(shù)據(jù)是個深層的對象,所以單純的watch,檢測不到數(shù)據(jù)的變化,所以使用deep,代碼如下:

watch: {
  // 深度監(jiān)聽 treeDate的數(shù)據(jù)變化 用 deep
  treeData: {
   handler: function (newVal, oldVal) {
    this.calculateSelectFormResult()
   },
   deep: true
  }
 }

2.遞歸

數(shù)據(jù)的結(jié)果是用遞歸遍歷出來的,

calculateSelectFormResult: function () {
   var arr = []
   function f (obj) {
    for (var i in obj) {
     if (obj[i].checked) {
      // console.log(2)
      arr.push(obj[i].name)
     }
     if (obj[i].children) {
      if (obj[i].children.length !== 0) {
       f(obj[i].children)
      }
     }
    }
   }
   f(this.treeData)
   this.selectFormResult = arr
   console.log(this.selectFormResult)
  }

3.模擬slideDown slideUp動畫效果

項目完整代碼地址: https://github.com/YalongYan/tree

補充知識:vue實現(xiàn)elment 可編輯樹形控件

功能實現(xiàn)程度:

elment樹形控件,已具備新增、刪除功能,此項目,添加編輯功能,新增時可對節(jié)點命名,也可直接給已添加的節(jié)點修改名字

先看效果:

控件有所改動,如加輸入框,輸入關(guān)鍵字過濾,節(jié)點圖標(biāo)變換。。。。參看elment Tree樹形控件文檔即可

項目下載

項目地址:https://github.com/midnightvisitor/vue-el-tree.git

如需要,請自行下載

以上這篇不依任何賴第三方,單純用vue實現(xiàn)Tree 樹形控件的案例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue2項目使用element-ui的el-tabs組件導(dǎo)致瀏覽器崩潰卡死問題

    vue2項目使用element-ui的el-tabs組件導(dǎo)致瀏覽器崩潰卡死問題

    這篇文章主要介紹了vue2項目使用element-ui的el-tabs組件導(dǎo)致瀏覽器崩潰卡死問題及解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • 如何在Vue3中正確使用ElementPlus,親測有效,避坑

    如何在Vue3中正確使用ElementPlus,親測有效,避坑

    這篇文章主要介紹了如何在Vue3中正確使用ElementPlus,親測有效,避坑!具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • Vue Router深扒實現(xiàn)原理

    Vue Router深扒實現(xiàn)原理

    在看這篇文章的幾點要求:需要你先知道Vue-Router是個什么東西,用來解決什么問題,以及它的基本使用。如果你還不懂的話,建議上官網(wǎng)了解下Vue-Router的基本使用后再回來看這篇文章
    2022-09-09
  • Vue組件基礎(chǔ)操作介紹

    Vue組件基礎(chǔ)操作介紹

    這篇文章主要介紹了Vue組件基礎(chǔ)操作,組件是vue.js最強(qiáng)大的功能之一,而組件實例的作用域是相互獨立的,這就意味著不同組件之間的數(shù)據(jù)無法相互進(jìn)行直接的引用
    2023-01-01
  • element 結(jié)合vue 在表單驗證時有值卻提示錯誤的解決辦法

    element 結(jié)合vue 在表單驗證時有值卻提示錯誤的解決辦法

    這篇文章主要介紹了element 結(jié)合vue 在表單驗證下,有值卻提示錯誤的解決辦法,需要的朋友可以參考下
    2018-01-01
  • Vue前端導(dǎo)出Excel文件的詳細(xì)實現(xiàn)方案

    Vue前端導(dǎo)出Excel文件的詳細(xì)實現(xiàn)方案

    在開發(fā)后臺管理系統(tǒng)的時候,很多地方都要用到導(dǎo)出excel表格,比如將table中的數(shù)據(jù)導(dǎo)出到本地,下面這篇文章主要給大家介紹了關(guān)于Vue導(dǎo)出Excel文件的相關(guān)資料,需要的朋友可以參考下
    2021-09-09
  • Vue導(dǎo)入Echarts實現(xiàn)散點圖

    Vue導(dǎo)入Echarts實現(xiàn)散點圖

    這篇文章主要為大家詳細(xì)介紹了Vue導(dǎo)入Echarts實現(xiàn)散點圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-12-12
  • vue3使用svg圖標(biāo)的方式總結(jié)

    vue3使用svg圖標(biāo)的方式總結(jié)

    在Vue?3中,可以使用多種方式來使用SVG圖標(biāo),這篇文章主要為大家總結(jié)了五個常用的方式,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解下
    2023-08-08
  • vue實現(xiàn)側(cè)邊欄導(dǎo)航效果

    vue實現(xiàn)側(cè)邊欄導(dǎo)航效果

    這篇文章主要為大家詳細(xì)介紹了vue實現(xiàn)側(cè)邊欄導(dǎo)航效果,右側(cè)顯示對應(yīng)內(nèi)容,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • vue實現(xiàn)一個單文件組件的完整過程記錄

    vue實現(xiàn)一個單文件組件的完整過程記錄

    整個項目結(jié)構(gòu)清晰,尤其單文件組件的表現(xiàn)力尤為突出,使得每個組件的邏輯都沒有過于復(fù)雜,所以這篇文章主要給大家介紹了關(guān)于vue實現(xiàn)一個單文件組件的相關(guān)資料,需要的朋友可以參考下
    2021-06-06

最新評論

双桥区| 射洪县| 彭水| 凤冈县| 和平县| 韩城市| 苏州市| 巴彦淖尔市| 濉溪县| 阳谷县| 杭州市| 桦南县| 鄂尔多斯市| 青州市| 灵川县| 休宁县| 大港区| 绿春县| 蒲城县| 莱西市| 上高县| 龙岩市| 寿宁县| 阳谷县| 古交市| 威远县| 朔州市| 河南省| 井陉县| 田阳县| 涿鹿县| 宜州市| 阿瓦提县| 临邑县| 兴仁县| 盐山县| 孟州市| 施秉县| 紫云| 海城市| 广丰县|