在vue項目中使用樹形結構的穿梭框

先看一下最后的效果:

在這里插入圖片描述

一個基于elementui的穿梭框組件:el-tree-transfer

第一步:安裝組件

npm install el-tree-transfer --save

第二步:寫代碼

    // 使用樹形穿梭框組件<tree-transfer :title="title" :from_data='fromData' :to_data='toData' :defaultProps="{label:'label'}"            @addBtn='add' @removeBtn='remove' :mode='mode' height='540px' filter openAll></tree-transfer>
import treeTransfer from 'el-tree-transfer' // 引入export defult {data(){return:{mode: "transfer", // transfer addressListfromData:[{id: "1",pid: 0,label: "一級 1",children: [{id: "1-1",pid: "1",label: "二級 1-1",children: []},{id: "1-2",pid: "1",label: "二級 1-2",children: [{id: "1-2-1",pid: "1-2",children: [],label: "二級 1-2-1"},{id: "1-2-2",pid: "1-2",children: [],label: "二級 1-2-2"}]}]},],toData:[]}},methods:{// 切換模式 現有樹形穿梭框模式transfer 和通訊錄模式addressListchangeMode() {if (this.mode == "transfer") {this.mode = "addressList";} else {this.mode = "transfer";}},// 監聽穿梭框組件添加add(fromData,toData,obj){// 樹形穿梭框模式transfer時,返回參數為左側樹移動后數據、右側樹移動后數據、移動的        {keys,nodes,halfKeys,halfNodes}對象// 通訊錄模式addressList時,返回參數為右側收件人列表、右側抄送人列表、右側密送人列表console.log("fromData:", fromData);console.log("toData:", toData);console.log("obj:", obj);},// 監聽穿梭框組件移除remove(fromData,toData,obj){// 樹形穿梭框模式transfer時,返回參數為左側樹移動后數據、右側樹移動后數據、移動的{keys,nodes,halfKeys,halfNodes}對象// 通訊錄模式addressList時,返回參數為右側收件人列表、右側抄送人列表、右側密送人列表console.log("fromData:", fromData);console.log("toData:", toData);console.log("obj:", obj);}},components:{ treeTransfer } // 注冊}

把上面的代碼寫完之后,就可以了哦。

參數說明:

  1. 參數:width 說明:寬度 類型:String 必填:false 默認:100% 補充:建議在外部盒子設定寬度和位置

  2. 參數:height 說明:高度 類型:String 必填:false 默認:320px

  3. 參數:title 說明:標題 類型:Array 必填:false 默認:[“源列表”, “目標列表”]

  4. 參數:button_text 說明:按鈕名字 類型:Array 必填:false 默認:空

  5. 參數:from_data 說明:源數據 類型:Array 必填:true 補充:數據格式同element-ui tree組件,但必須有id和pid

  6. 參數:to_data 說明:目標數據 類型:Array 必填:true 補充:數據格式同element-ui tree組件,但必須有id和pid

  7. 參數:defaultProps 說明:配置項-同el-tree中props 必填: false
    補充:用法和el-tree的props一樣

  8. 參數:node_key 說明:自定義node-key的值,默認為id 必填:false
    補充:必須與treedata數據內的id參數名一致,必須唯一

  9. 參數:pid 說明:自定義pid的參數名,默認為"pid" 必填:false
    補充:有網友提出后臺給的字段名不叫pid,因此增加自定義支持

  10. 參數:leafOnly 說明:是否只返回葉子節點 類型:Boolean 必填:false
    補充:默認false,如果你只需要返回的末端子節點可使用此參數

  11. 參數:filter 說明:是否開啟篩選功能 類型:Boolean 必填:false

  12. 參數:openAll 說明:是否默認展開全部 類型:Boolean 必填:false

  13. 參數:renderContent 說明:自定義樹節點 類型:Function 必填:false 補充:用法同element-ui
    tree

  14. 參數:mode 說明:設置模式,字段可選值為transfer|addressList 類型:String 必填:false
    補充:mode默認為transfer模式,即樹形穿梭框模式,可配置字段為addressList改為通訊錄模式,通訊錄模式時按鈕不可自定義名字,如要自定義標題名在title數組傳入四個值即可,addressList模式時標題默認為通訊錄、收件人、抄送人、密送人

  15. 參數:transferOpenNode 說明:穿梭后是否展開穿梭的節點 類型:Boolean 必填:false
    補充:默認為true即展開穿梭的節點,便于視覺查看,增加此參數是因為數據量大時展開會有明顯卡頓問題,但注意,如此參數設置為false則穿梭后不展開,畢竟無法確定第幾層就會有龐大數據

  16. 參數:defaultCheckedKeys 說明:默認展開節點 類型:Array 必填:false
    補充:只匹配初始時默認節點,不會在你操作后動態改變默認節點

  17. 參數:placeholder 說明:設置搜索框提示語 類型:String 必填:false 補充:默認為請輸入關鍵詞進行篩選
    參數:defaultTransfer 說明:是否自動穿梭一次默認選中defaultCheckedKeys的節點 類型:Boolean
    必填:false 補充:默認false,用來滿足用戶不想將數據拆分成fromData和toData的需求

  18. 事件:addBtn 說明:點擊添加按鈕時觸發的事件
    回調參數:function(fromData,toData,obj),樹形穿梭框transfer模式分別為1.移動后左側數據,2.移動后右側數據,3.移動的節點keys、nodes、halfKeys、halfNodes對象;通訊錄addressList模式時返回參數為右側收件人列表、右側抄送人列表、右側密送人列表

  19. 事件:removeBtn 說明:點擊移除按鈕時觸發的事件
    回調參數:function(fromData,toData,obj),樹形穿梭框transfer模式分別為1.移動后左側數據,2.移動后右側數據,3.移動的節點keys、nodes、halfKeys、halfNodes對象;通訊錄addressList模式時返回參數為右側收件人列表、右側抄送人列表、右側密送人列表

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/247833.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/247833.shtml
英文地址,請注明出處:http://en.pswp.cn/news/247833.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

導航跳轉后保持選中狀態 jquery高亮當前選中菜單

功能需求&#xff1a; 今天在寫一個站點需要用到在導航菜單點擊鏈接跳轉到新頁面后&#xff0c;高亮當前菜單樣式。 簡單的說&#xff0c;就是我點擊導航菜單中的一個欄目&#xff0c;跳轉到該欄目下&#xff0c;該欄目菜單也同時高亮&#xff08;可以是背景色也可以是背景圖片…

eacharts中國地圖省市區點擊顯示

1.安裝echarts.js 相關模塊 npm i echarts2. 在 main.js 文件中搭建全局 // 引入echarts import echarts from echarts Vue.prototype.$echarts echarts3.vue文件種引入相關文檔 import echarts from "echarts"; import "./china.js"; // 引入中國地圖…

CF2B The least round way(貪心+動規)

題目 CF2B The least round way 做法 后面\(0\)的個數&#xff0c;\(2\)和\(5\)是\(10\)分解質因數 則把方格中的每個數分解成\(2\)和\(5\)&#xff0c;對\(2\)和\(5\)求兩邊動規&#xff0c;得出最小值\(ansmin(num_2,num_5)\) 我們貪心地選擇最小值所對應的\(2\)或\(5\)&…

JS 中的return false的作用

在大多數情況下,為事件處理函數返回false,可以防止默認的事件行為. Return False 就相當于終止符,終止默認的事件行為&#xff0c;反之,Return True 就相當于執行符,執行終止默認的事件行為。 在js中return false的作用一般是用來取消默認動作的。比如你單擊一個鏈接除了觸發你…

中英翻譯(基于百度翻譯)

先來看效果圖 只做了簡單的在線翻譯&#xff0c;語音翻譯和圖片翻譯都要錢&#xff0c;哈哈 市面上有名氣的翻譯公司就是有道和百度了&#xff0c;有道嘗試了一下&#xff0c;分為API和SDK兩種&#xff0c;但是demo下載下來跑不了 百度的就是API&#xff0c;也很簡單&#xff0…

Vue中使用input簡易的上傳圖片

<div class"boximg"><div class"topimg"><!-- <img :src"filePath" width"200px" height"170px" /> --></div><div class"botimg" click"imgClick()">上傳logo<…

jQuery選擇器之層級選擇器

文檔中的所有的節點之間都是有這樣或者那樣的關系。我們可以把節點之間的關系可以用傳統的家族關系來描述&#xff0c;可以把文檔樹當作一個家譜&#xff0c;那么節點與節點直接就會存在父子&#xff0c;兄弟&#xff0c;祖孫的關系了。 選擇器中的層級選擇器就是用來處理這種關…

文件 圖片 上傳 及少許正則校驗

文件 & 圖片 上傳 及少許正則校驗 <template><div style"padding: 20px"><Row><Col span"24"><div><CFlex type"flex" justify"space-between" align"midlle"><div class"…

bootstrap-table.js如何根據單元格數據不同顯示不同的字體的顏色

在bootstrap-table.js里面列屬性 formatter就是用來格式化單元格的&#xff0c;其默認值是undefined 類型是function&#xff0c;function(value, row, index), value&#xff1a;該cell本來的值&#xff0c;row&#xff1a;該行數據&#xff0c;index&#xff1a;該行序號&am…

SVN_06導入項目文檔

把這個項目的文檔遷入到SVN Server上的庫中 【1】首先右鍵點擊projectAdmin目錄&#xff0c;這時候的右鍵菜單例如以下圖看到的&#xff1a;選擇copy URL toCLipboard,就是復制統一資源定位符&#xff08;URL&#xff09;到剪貼板中 https://KJ-AP01.中國.corpnet:8443/svn/pro…

實現省市二級聯動效果

實現效果&#xff1a; 代碼&#xff1a; <template><div class"main_tableau"><div class"page_title">百城精算編輯</div><CFlex type"flex" justify"space-between"><div style"margin-top…

jquery操作select(取值,設置選中)

jquery操作select(增加&#xff0c;刪除&#xff0c;清空) http://huapengpeng1989412.blog.163.com/blog/static/58828754201342841940720/ jQuery獲取Select選擇的Text和Value: 123456789$("#select_id").change(function(){//code...}); //為Select添加事件&am…

手機驗證碼獲取

<el-form-item label"短信驗證碼" required><el-input v-model"ruleForm.verificationcode" placeholder"請添加驗證碼"><el-button v-if"isdisabled" slot"suffix" style"color:#409EFF;" type&…

關于RGB屏調試的一些知識(轉)

關于RGB屏調試的一些知識轉載于:https://www.cnblogs.com/LittleTiger/p/10983212.html

在bootstrap table中使用Tooltip

//偏好主題function preferenceFormatter(value, row, index) {var nameString "";if (value.length > 6) {nameString value.substring(0,6) ...;} else{nameString value;}return [<a href"#" data-toggle"tooltip" title value >…

實現值兩者之間添加 , 、 | 等字符

展示效果&#xff1a; <span v-for"(item, index) in projectData.bdOwnerList" :key"index"><span style"white-space: nowrap">{{ item.userName }}<spanv-if"projectData.bdOwnerList.length - 1 ! index"style&qu…

spring-cloud搭建

1、myApplicaion 啟動服務類上層必須有一層包 2、報錯 com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused: connect 或者com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known…

JS ===和==區別

這是一種隱式類型轉換 var a 12; var b 12; alert(a b);//先把兩邊的轉換成一樣的&#xff0c;再進行比較 。結果會返回true alert(a b);//不轉換兩邊類型&#xff0c;直接比較,結果返回false

單頁面輪播圖滾動

現在網上好多類似的效果&#xff0c;今天心情好&#xff0c;就私自模仿一個去&#xff0c;代碼如下。 單頁面網站 網站首頁公司簡介公司產品公司榮譽招聘英才聯系我們window.οnscrοllfunction(){ var scTopdocument.documentElement.scrollTop||document.body.scrollTop; va…

xBIM 基礎16 IFC的空間層次結構

系列目錄 【已更新最新開發文章&#xff0c;點擊查看詳細】 本篇介紹如何從文件中檢索空間結構。IFC中的空間結構表示層次結構的嵌套結構&#xff0c;表示項目&#xff0c;站點&#xff0c;建筑物&#xff0c;樓層和空間。如果您查看IFC文檔&#xff0c; 您會發現建筑物可以…