欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

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

我直接用的vue-cli搭建的項(xiàng)目,代碼目錄如下:

使用方式如下:

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
        }
       ]
      }
     ]
    }
   ],

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

1. 深度watch

由于數(shù)據(jù)是個(gè)深層的對(duì)象,所以單純的watch,檢測(cè)不到數(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動(dòng)畫效果

項(xiàng)目完整代碼地址: https://github.com/YalongYan/tree

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

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

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

先看效果:

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

項(xiàng)目下載

項(xiàng)目地址:https://github.com/midnightvisitor/vue-el-tree.git

如需要,請(qǐng)自行下載

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

相關(guān)文章

  • 10個(gè)Vue3中常用的組合式?API用法詳解

    10個(gè)Vue3中常用的組合式?API用法詳解

    通過Vue?3,組合式API增強(qiáng)了我們利用Vue的能力,使我們的代碼更具模塊性和可讀性,本文主要來和大家分享10個(gè)常用的Vue3組合式API,希望對(duì)大家有所幫助
    2024-01-01
  • vue.js基于ElementUI封裝了CRUD的彈框組件

    vue.js基于ElementUI封裝了CRUD的彈框組件

    這篇文章主要介紹了vue.js基于ElementUI封裝了CRUD的彈框組件,問咋會(huì)給你圍繞主題展開詳細(xì)的內(nèi)容介紹,感興趣的小伙伴可以參考一下
    2022-07-07
  • 關(guān)于在vue2中使用weixin-js-sdk的詳細(xì)步驟

    關(guān)于在vue2中使用weixin-js-sdk的詳細(xì)步驟

    公司最近有微信公眾號(hào)的需求,那么微信登錄授權(quán)和如何使用WX-JSSDk實(shí)現(xiàn)分享等等肯定是最頭疼的問題,這篇文章主要給大家介紹了關(guān)于在vue2中使用weixin-js-sdk的詳細(xì)步驟,需要的朋友可以參考下
    2024-07-07
  • 關(guān)于vue組件的更新機(jī)制?resize()?callResize()

    關(guān)于vue組件的更新機(jī)制?resize()?callResize()

    這篇文章主要介紹了關(guān)于vue組件的更新機(jī)制?resize()?callResize(),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • vue3遞歸組件封裝的全過程記錄

    vue3遞歸組件封裝的全過程記錄

    組件是可以在自己的模板中調(diào)用自身的,不過他們只能通過name選項(xiàng)來做這件事,下面這篇文章主要給大家介紹了關(guān)于vue3遞歸組件封裝的相關(guān)資料,需要的朋友可以參考下
    2021-09-09
  • vue+axios+element ui 實(shí)現(xiàn)全局loading加載示例

    vue+axios+element ui 實(shí)現(xiàn)全局loading加載示例

    今天小編就為大家分享一篇vue+axios+element ui 實(shí)現(xiàn)全局loading加載示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • Vue中router-link如何添加mouseover提示

    Vue中router-link如何添加mouseover提示

    這篇文章主要介紹了Vue中router-link如何添加mouseover提示,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • Vue2+ElementUI表單、Form組件的封裝過程

    Vue2+ElementUI表單、Form組件的封裝過程

    在 Vue2 項(xiàng)目中,ElementUI 的 el-form 組件是常用的表單組件,它提供了豐富的功能和樣式,可以滿足各種需求,本文給大家介紹Vue2+ElementUI表單、Form組件的封裝過程,感興趣的朋友跟隨小編一起看看吧
    2024-03-03
  • 最后說說Vue2 SSR 的 Cookies 問題

    最后說說Vue2 SSR 的 Cookies 問題

    這篇文章主要介紹了最后說說Vue2 SSR 的 Cookies 問題,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-05-05
  • Vue中獲取this.$refs為undefined的問題

    Vue中獲取this.$refs為undefined的問題

    這篇文章主要介紹了Vue中獲取this.$refs為undefined的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05

最新評(píng)論