天天看點

JS元件系列——Bootstrap 樹控件使用經驗分享

前言:很多時候我們在項目中需要用到樹,有些樹僅僅是展示層級關系,有些樹是為了展示和編輯層級關系,還有些樹是為了選中項然後其他地方調用選中項。不管怎麼樣,樹控件都是很多項目裡面不可或缺的元件之一。今天,部落客打算結合自己的使用經曆和網上找到的一些不錯的樹控件在這裡做一個分享,希望能幫大家找到最合适的控件。還是那句話:控件沒有最好,隻有最合适。

Jquery樹形控件是一款基于JQuery+bootstrap、完全通過js和樣式手寫出來的非常輕量級的控件,網上很多地方都能看到它的影子。它功能簡單、使用者體驗不錯。對于一些簡單的層級關系展示比較實用,但對于節點的增删改實作起來就不容易了,如果非要做,可能需要自己去封裝。Demo及下載下傳位址:http://www.jq22.com/jquery-info432

全部收起

JS元件系列——Bootstrap 樹控件使用經驗分享

展開一級

JS元件系列——Bootstrap 樹控件使用經驗分享

全部展開

JS元件系列——Bootstrap 樹控件使用經驗分享

此控件實作起來也非常簡單,隻需要引用jQuery和bootstrap元件即可。

JS元件系列——Bootstrap 樹控件使用經驗分享
JS元件系列——Bootstrap 樹控件使用經驗分享
JS元件系列——Bootstrap 樹控件使用經驗分享
JS元件系列——Bootstrap 樹控件使用經驗分享

這些代碼都是直接從網上down下來的,節點上面的圖示可以通過樣式修改,圖示樣式也是基于bootstrap的。如果需要動态添加節點,可以自己封裝元件去拼html,實作起來應該也比較簡單。由以上可知此元件的輕量級,如果你需要對節點作增删改或者選擇等操作,不要急,下面的控件可能比較适用。

這個元件是從網上找到的,最初示範,組内成員一緻覺得效果很贊。因為它通過樹形展示,友善的提供了節點的增删改。節點的伸縮效果也比較好。好了來看看。Demo以及下載下傳位址:http://www.jq22.com/jquery-info401

預設展開一級

JS元件系列——Bootstrap 樹控件使用經驗分享

點選左邊的“+”号和右邊的節點都會去展開子節點

JS元件系列——Bootstrap 樹控件使用經驗分享

多級展開

JS元件系列——Bootstrap 樹控件使用經驗分享

在左邊可以編輯節點名稱

JS元件系列——Bootstrap 樹控件使用經驗分享

按Enter鍵換行新增兄弟節點,同樣删除換行就可以删除節點。

JS元件系列——Bootstrap 樹控件使用經驗分享

按Enter鍵後再按下Tab鍵可以新增子節點

JS元件系列——Bootstrap 樹控件使用經驗分享

很強大有木有。稽核元素可知它使用的是html5的svg标簽來實作的,是以對浏覽器有一定的要求。

ztree是一個傳統的樹形元件,其強大的功能決定他在樹形控件界的地位。不管是樹形展示,還是編輯,又或者是節點單選和多選,它都提供了強大的功能API。但是,由于它界面效果不太好看,是以很多公司使用它的時候都會有一定的猶豫。所幸,至從出了扁平化風格後,ztree也做了一定的美化,比如它的Metro風格的元件和bootstrap風格就非常相像。今天就來結合Metro風格的ztree來介紹下這個元件的一些用法。Demo以及下載下傳位址:http://www.jq22.com/jquery-info941

此元件可直接通過Nuget去添加。

JS元件系列——Bootstrap 樹控件使用經驗分享

節點全部收起

JS元件系列——Bootstrap 樹控件使用經驗分享

節點展開

JS元件系列——Bootstrap 樹控件使用經驗分享

節點選中,當然如果需要可以變成單選。

JS元件系列——Bootstrap 樹控件使用經驗分享

可以增删改節點

JS元件系列——Bootstrap 樹控件使用經驗分享
JS元件系列——Bootstrap 樹控件使用經驗分享

點選文本框出現樹

JS元件系列——Bootstrap 樹控件使用經驗分享

3.1 直接在界面顯示文本框

需要引用的js和css檔案

頁面html

Js初始化

JS元件系列——Bootstrap 樹控件使用經驗分享
JS元件系列——Bootstrap 樹控件使用經驗分享

3.2 預設隐藏,觸發某個事件的時候出現樹。這種場景在項目裡面非常常見,一般用于選擇樹節點。是以部落客把這個也單獨拿出來說下吧。

div預設是隐藏的。

在js裡面初始化樹以及注冊showMenu()方法

JS元件系列——Bootstrap 樹控件使用經驗分享
JS元件系列——Bootstrap 樹控件使用經驗分享

由于以上都是靜态資料,如果需要從背景取資料動态加載樹節點,可以去背景構造zNodes這種結構的數組即可。

以上三種樹形元件,各有千秋,可以根據需求選用不同的元件。還是那句話,沒有最好,隻有最合适,如果園友們有什麼更好用的樹形元件,不妨推薦下,不勝感激。之前那篇被指有問題,在此重新發下。如果覺得本文對你有幫助,請幫忙推薦吧,部落客會繼續努力。