el-tree-fransfer เป็นส่วนประกอบกล่องรับส่งต้นไม้ที่ใช้ VUE และ element-ui โปรดตรวจสอบให้แน่ใจว่าคุณได้แนะนำ element-ui ก่อนใช้งาน! ฟังก์ชั่นของส่วนประกอบนี้คล้ายกับองค์ประกอบการถ่ายโอนของ element-ui
แต่ข้อมูลภายในเป็นโครงสร้างแบบต้นไม้! ในความเป็นจริง ส่วนประกอบ element-ui ที่ el-tree-transfer อาศัยคือ Checkbox, Button และตัวควบคุม Tree tree หลัก! ไม่ใช่ส่วนขยายของส่วนประกอบ Shuttle Box ของ element-ui แต่เพียงอ้างอิงถึงรูปลักษณ์ สไตล์ และฟังก์ชันการทำงานเท่านั้น
เนื่องจากธุรกิจของบริษัทใช้เฟรมเวิร์ก Vue ไลบรารี UI จึงใช้ element-ui เป็นเรื่องยากที่จะหาส่วนประกอบ Vue tree Shuttle Box ที่มีประโยชน์ในตลาด และเราไม่ต้องการแนะนำปลั๊กอินรุ่นเฮฟวี่เวทอื่นๆ นอกเหนือจาก element-ui เพียงเพราะว่า Shuttle Box ดังนั้นจึงมี el-tree-transfer น้ำหนักเบา ใช้งานง่าย ไม่ต้องเสียค่าใช้จ่ายในการเรียนรู้เพิ่มเติม
2.4.6 แก้ไขข้อผิดพลาดในการสร้างใหม่ (โปรดอย่าใช้ 2.4.0-2.4.5) เพิ่มสามโหมดที่ไม่เกี่ยวข้องกับพ่อและลูกชาย (รวมถึงโหมดการอนุญาต) ปรับโครงสร้างไดเร็กทอรีส่วนประกอบ สร้างอัลกอริทึมรถรับส่งใหม่ การทดสอบข้อมูลตัวอย่างคร่าวๆ ได้รับการปรับปรุงอย่างมาก เพิ่มประสิทธิภาพการเลือกทั้งหมดเมื่อผู้ปกครองและเด็กไม่เกี่ยวข้องกัน เหตุการณ์ addBtn คือ add-btn และ RemoveBtn เพิ่มการล้างข้อมูลลงในช่องค้นหา ฟังก์ชั่นรถรับส่งที่ไม่เกี่ยวข้องกับผู้ปกครองและเด็ก
2.3.3 แก้ไขตรรกะการจับคู่รถรับส่ง เพิ่มพารามิเตอร์ rootPidValue ดูบันทึกประจำรุ่นด้านล่างสำหรับคำแนะนำโดยละเอียด
npm แรกให้ดาวน์โหลดปลั๊กอิน
npm install el-tree-transfer --save
หรือ
npm i el-tree-transfer -S
จากนั้นคุณสามารถใช้ el-tree-transfer เหมือนส่วนประกอบปกติ
< template >
< div >
// 你的代码
...
// 使用树形穿梭框组件
< tree-transfer : title = " title " :from_data='fromData' :to_data='toData' :defaultProps=" { label: 'label' } " @add-btn='add' @remove-btn='remove' :mode='mode' height='540px' filter openAll>
</ tree - transfer >
< / div >
</ template >
< script >
import treeTransfer from 'el-tree-transfer' // 引入
export defult {
data ( ) {
return : {
mode : "transfer" , // transfer addressList
fromData : [
{
id : "1" ,
pid : 0 ,
label : "一级 1" ,
children : [
{
id : "1-1" ,
pid : "1" ,
label : "二级 1-1" ,
disabled : true ,
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 和通讯录模式addressList
changeMode ( ) {
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 } // 注册
}
</ script >
< style >
...
</ style >
หมายเลขซีเรียล | พารามิเตอร์ | แสดงให้เห็น | พิมพ์ | ค่าเริ่มต้น | เติมเงิน |
---|---|---|---|---|---|
1 | ความกว้าง | ความกว้าง | สตริง | 100% | แนะนำให้กำหนดความกว้างและตำแหน่งของกล่องด้านนอก |
2 | ความสูง | สูง | สตริง | 320px | - |
3 | ชื่อ | ชื่อ | สตริง | ["รายการแหล่งที่มา", "รายการเป้าหมาย"] | - |
4 | ปุ่ม_ข้อความ | ชื่อปุ่ม | อาร์เรย์ | - | - |
5 | จาก_data | แหล่งข้อมูล | อาร์เรย์ | - | รูปแบบข้อมูลเหมือนกับองค์ประกอบแผนผัง element-ui แต่ต้องมี id และ pid |
6 | to_data | ข้อมูลเป้าหมาย | อาร์เรย์ | - | รูปแบบข้อมูลเหมือนกับองค์ประกอบแผนผัง element-ui แต่ต้องมี id และ pid |
7 | อุปกรณ์ประกอบฉากเริ่มต้น | รายการการกำหนดค่า - เช่นเดียวกับอุปกรณ์ประกอบฉากใน el-tree | วัตถุ | { ป้ายกำกับ: "ป้ายกำกับ" เด็ก: "เด็ก" isLeaf: "leaf" ปิดการใช้งาน: "ปิดการใช้งาน" } | การใช้งานจะเหมือนกับอุปกรณ์ประกอบฉาก el-tree |
8 | node_key | ปรับแต่งค่าของ node-key โดยค่าเริ่มต้นคือ id | สตริง | บัตรประจำตัวประชาชน | ต้องสอดคล้องกับชื่อพารามิเตอร์ id ในข้อมูล treedata และต้องไม่ซ้ำกัน |
9 | ปิ๊ด | ปรับแต่งชื่อพารามิเตอร์ของ pid ค่าเริ่มต้นคือ "pid" | สตริง | ปิ๊ด | ชาวเน็ตบางคนแนะนำว่าชื่อฟิลด์ที่กำหนดโดยพื้นหลังไม่เรียกว่า pid ดังนั้นจึงเพิ่มการสนับสนุนแบบกำหนดเอง |
10 | ใบไม้เท่านั้น | ถูกทอดทิ้ง | - | - | - |
11 | กรอง | ไม่ว่าจะเปิดใช้งานฟังก์ชันการกรองหรือไม่ | บูลีน | เท็จ | กรองตามฟิลด์ป้ายกำกับของพารามิเตอร์ defaultProps |
12 | เปิดทั้งหมด | ว่าจะขยายทั้งหมดตามค่าเริ่มต้นหรือไม่ | บูลีน | เท็จ | มีปัญหาด้านประสิทธิภาพ |
13 | โหนดแผนผังแบบกำหนดเอง การใช้งานจะเหมือนกับแผนผัง element-ui | การทำงาน | - | เวอร์ชัน 2.2.3 แบ่งออกเป็นสองฟังก์ชันเพื่อกำหนดโหนดที่กำหนดเองทางด้านซ้ายและด้านขวาตามลำดับ | |
14 | โหมด | ตั้งค่าโหมดกล่องรถรับส่ง | สตริง | โอนย้าย | โหมดมีค่าเริ่มต้นเป็นโหมดการถ่ายโอน ซึ่งเป็นโหมดทรีชัตเทิล ฟิลด์ที่กำหนดค่าได้คือ addressList และสามารถเปลี่ยนเป็นโหมดสมุดที่อยู่ได้ ชื่อของปุ่มจะไม่สามารถปรับแต่งได้ เพียงส่งค่าสี่ค่าในอาร์เรย์ชื่อ ในโหมด addressList ชื่อจะมีค่าเริ่มต้นเป็นสมุดที่อยู่ ผู้รับ บุคคลสำเนาคาร์บอน และบุคคลสำเนาลับ |
15 | โอน OpenNode | ไม่ว่าจะขยายโหนดกระสวยหลังกระสวยหรือไม่ | บูลีน | จริง | ค่าดีฟอลต์เป็นจริง ซึ่งหมายความว่าโหนดชัตเทิลจะถูกขยายเพื่อการตรวจสอบด้วยภาพ เนื่องจากจะเกิดปัญหาความล่าช้าอย่างเห็นได้ชัดในการขยายเมื่อมีปริมาณข้อมูลมาก อย่างไรก็ตาม โปรดทราบว่าหากตั้งค่าพารามิเตอร์นี้เป็นเท็จ มันจะไม่ถูกขยายหลังจากกระสวย ท้ายที่สุดแล้ว มันเป็นไปไม่ได้ที่จะระบุได้ว่าจะเป็นชั้นใด |
16 | ค่าเริ่มต้น CheckedKeys | โหนดที่เลือกโดยค่าเริ่มต้น | อาร์เรย์ | เท็จ | ตรงกับโหนดเริ่มต้นเริ่มต้นเท่านั้น และจะไม่เปลี่ยนโหนดเริ่มต้นแบบไดนามิกหลังจากที่คุณดำเนินการ |
17 | ตัวยึดตำแหน่ง | ตั้งค่าข้อความแจ้งของช่องค้นหา | สตริง | ป้อนคำหลักเพื่อกรอง | - |
18 | ค่าเริ่มต้นโอน | ว่าจะรถรับส่งไปยังโหนดโดยอัตโนมัติหนึ่งครั้งโดยเลือก defaultCheckedKeys ไว้ตามค่าเริ่มต้นหรือไม่ | บูลีน | เท็จ | ใช้เพื่อตอบสนองความต้องการของผู้ใช้ที่ไม่ต้องการแยกข้อมูลออกเป็น fromData และ toData |
19 | arrayToTree | ไม่ว่าจะเปิดใช้งานการแปลงอาร์เรย์หนึ่งมิติเป็นโครงสร้างต้นไม้หรือไม่ | บูลีน | เท็จ | ข้อมูลต้องมีโหนดรูทและไม่เสียหาย สำหรับรายละเอียดเกี่ยวกับรูปแบบข้อมูล โปรดดู app.vue บน github ตามความสัมพันธ์ที่สอดคล้องกันระหว่าง id และ pid มีปัญหาด้านประสิทธิภาพบางอย่างเมื่อทำการแปลง |
20 | ที่อยู่ตัวเลือก | รายการการกำหนดค่าโหมดสมุดที่อยู่ | วัตถุ | {num: หมายเลข คำต่อท้าย: สตริง ตัวเชื่อมต่อ: สตริง} | num-> จำนวนสมุดที่อยู่ที่ต้องการทางด้านขวา ค่าเริ่มต้นคือ 3 ต่อท้าย -> ช่องที่คุณต้องการต่อหลังป้ายกำกับ (เช่น id คือนำ id ของข้อมูลนี้มาต่อที่ด้านหลัง ) ค่าเริ่มต้นคือตัวเชื่อมต่อต่อท้าย -> ตัวเชื่อมต่อ (สตริง) ค่าเริ่มต้น- |
ยี่สิบเอ็ด | ขี้เกียจ | ไม่ว่าจะเปิดใช้งานการโหลดแบบ Lazy Loading หรือไม่ | บูลีน | เท็จ | เอฟเฟกต์คือการโหลดแบบ el-tree และไม่สามารถใช้พร้อมกับการขยาย openAll หรือการขยายเริ่มต้นได้ |
ยี่สิบสอง | ขี้เกียจFn | ฟังก์ชั่นการโทรกลับโหลดขี้เกียจ | การทำงาน | - | เมื่อใช้ Lazy จะต้องส่งฟังก์ชันเรียกกลับเข้าไป เช่น:lazyFn='loadNode', ส่งคืนพารามิเตอร์ loadNode(node, solve, from), node->node node ที่ขยายอยู่ในปัจจุบัน, solve->lazyload solve, from -> ซ้าย/ขวา แสดงว่าการโทรกลับมาจากด้านซ้าย/ขวา |
ยี่สิบสาม | แสงสูง | ไม่ว่าจะเน้นโหนดที่เลือกในปัจจุบันหรือไม่ | บูลีน | เท็จ | - |
ยี่สิบสี่ | filterNode | ฟังก์ชั่นการค้นหาแบบกำหนดเอง | การทำงาน | - | หากไม่ผ่าน ค่าเริ่มต้นจะยังคงถูกกรองตามฟิลด์ป้ายกำกับของพารามิเตอร์ defaultProps |
25 | ค่าเริ่มต้นExpandedKeys | ขยายโหนดตามค่าเริ่มต้น | อาร์เรย์ | - | อาร์เรย์รหัสโหนดที่จะขยายจะถูกขจัดข้อมูลที่ซ้ำกันโดยอัตโนมัติทางด้านซ้ายและด้านขวา |
26 | ขี้เกียจขวา | ในเวอร์ชัน 2.2.9 คุณลักษณะlazy จะมีผลกับด้านซ้ายของแผนผังเท่านั้น หากคุณต้องการด้านขวา ให้ใช้การโหลดแบบ Lazy Loading ->lazyRight | บูลีน | - | - |
27 | เอสเจอาร์ | โหมดสมุดที่อยู่ ตั้งค่าข้อมูลผู้รับทางด้านขวา | อาร์เรย์ | - | - |
28 | กิจกรรมเพื่อสังคม | โหมดสมุดที่อยู่ ตั้งค่าข้อมูลบุคคลสำเนาทางด้านขวา | อาร์เรย์ | - | - |
29 | นางสาว | โหมดสมุดที่อยู่ ตั้งค่าข้อมูลบุคคลตาบอดทางด้านขวา | อาร์เรย์ | - | - |
30 | rootPidValue | โหมดกล่องชัตเทิล ค่าของ pid ข้อมูลโหนดรูท ที่ใช้เพื่อให้ตรงกับลูปทางออก สำคัญ | สตริง,หมายเลข | 0 | - |
31 | ตรวจสอบอย่างเคร่งครัด | ไม่ว่าพ่อลูกจะไม่เกี่ยวข้องกัน | บูลีน | เท็จ | โหมดนี้ไม่รองรับ Lazy การส่งคืน fromData และ toData เป็นข้อมูลล่าสุด และคีย์และโหนดใน obj ไม่สมบูรณ์ และมีความแตกต่างในตรรกะการประมวลผลสำหรับด้านซ้ายและด้านขวาของโหนดพาเรนต์หลังจากลบโหนดย่อย: เนื่องจากจะปรากฏทางด้านขวาเมื่อทำการอนุญาต จึงต้องต้องใช้โหนดพาเรนต์ด้านซ้าย และเมื่อทำการลบการอนุญาต ให้ลบโหนดย่อยออก การอนุญาตไม่ได้หมายความว่าคุณต้องการลบการอนุญาตของผู้ปกครอง |
32 | renderAfterขยาย | ไม่ว่าจะเรนเดอร์โหนดลูกหลังจากขยายโหนดทรีเป็นครั้งแรกหรือไม่ | บูลีน | จริง | - |
33 | ขยาย OnClickNode | ไม่ว่าจะขยายหรือย่อโหนดเมื่อคลิกที่โหนดเหล่านั้น | บูลีน | จริง | - |
34 | ตรวจสอบ OnClickNode | ไม่ว่าจะเลือกโหนดเมื่อคลิกที่มัน | บูลีน | เท็จ | - |
35 | เยื้อง | การเยื้องแนวนอนระหว่างโหนดระดับที่อยู่ติดกัน มีหน่วยเป็นพิกเซล | ตัวเลข | 16 | - |
36 | ไอคอนคลาส | ปรับแต่งไอคอนสำหรับโหนดต้นไม้ | สตริง | - | - |
37 | ลากได้ | ไม่ว่าจะเปิดใช้งานฟังก์ชันโหนดแบบลากและวางหรือไม่ | บูลีน | เท็จ | - |
38 | อนุญาตให้ลาก | ตรวจสอบว่าสามารถลากโหนดได้หรือไม่ | ฟังก์ชั่น (โหนด) | - | - |
39 | อนุญาตให้วาง | ตรวจสอบว่าสามารถวางโหนดเป้าหมายเมื่อลากได้หรือไม่ | ฟังก์ชั่น (draggingNode, dropNode, พิมพ์) | - | พารามิเตอร์ type มีสามสถานการณ์: 'prev', 'inner' และ 'next' ซึ่งตามลำดับหมายถึงการวางก่อนโหนดเป้าหมาย การแทรกเข้าไปในโหนดเป้าหมาย และวางหลังโหนดเป้าหมาย |
40 | ตรวจสอบ StrictlyType | มีสามโหมดที่ไม่เกี่ยวข้องกับพ่อและลูกชาย: โหมดการอนุญาต โหมดหุ่น และโหมดแบบเอกสารสำเร็จรูปแบบแยกส่วน | สตริง | การอนุญาต: การเลือกโหนดย่อยทางด้านซ้ายจะนำโหนดพาเรนต์มาทางด้านขวาโดยอัตโนมัติ โหนดพาเรนต์เดียวกันอาจมีอยู่ทั้งสองด้านของโหมดนี้: หุ่นเชิดบริสุทธิ์ ลูกขนไก่ไม่เกี่ยวข้องกัน แต่ต้นไม้ที่สมบูรณ์จะต้องคงไว้ซึ่งโครงสร้างรูปร่าง โดยจะนำเฉพาะส่วนที่จำเป็นสำหรับลูกขนไก่ไปยังฝั่งตรงข้ามโดยอัตโนมัติเพื่อประกบกัน โครงสร้างโครงกระดูก โหนดที่ไม่ใช่ลีฟเดียวกันอาจมีอยู่ทั้งสองด้านของโหมดนี้ ส่วนแม่ลูกล้วนๆ ไม่ได้เชื่อมโยงกระสวย และไม่รักษาโครงสร้างต้นไม้ที่สมบูรณ์เพื่อสร้างรูปร่างต้นไม้ทางด้านขวา ด้านซ้ายต้องรื้อ และด้านซ้ายต้องรื้อ ยิ่งด้านขวา โครงสร้างต้นไม้ก็ยิ่งสมบูรณ์มากขึ้น ด้านซ้ายและด้านขวาของลวดลายนี้ทำให้มีเอกลักษณ์เฉพาะตัวที่เข้มงวด |
หมายเลขซีเรียล | ชื่อเหตุการณ์ | แสดงให้เห็น | พารามิเตอร์การโทรกลับ |
---|---|---|---|
1 | เพิ่ม-btn | เหตุการณ์ที่เกิดขึ้นเมื่อคลิกปุ่มเพิ่ม (addBtn ก่อน 2.4.0) | ฟังก์ชั่น (fromData, toData, obj) โหมดการถ่ายโอนกล่องกระสวยต้นไม้คือ 1. ข้อมูลที่เหลือหลังจากการเคลื่อนไหว 2. ข้อมูลที่ถูกต้องหลังจากการเคลื่อนไหว 3. คีย์โหนดที่ถูกย้าย, โหนด, halfKeys, วัตถุ halfNodes สมุดที่อยู่ ในโหมด, พารามิเตอร์ที่ส่งคืนคือรายชื่อผู้รับที่ถูกต้อง รายการสำเนาคาร์บอนที่ถูกต้อง และรายการสำเนาคาร์บอนตาบอดด้านขวา |
2 | ลบ-btn | เหตุการณ์เกิดขึ้นเมื่อคลิกปุ่มลบ (removeBtn ก่อน 2.4.0) | ฟังก์ชั่น (fromData, toData, obj) โหมดการถ่ายโอนกล่องกระสวยต้นไม้คือ 1. ข้อมูลที่เหลือหลังจากการเคลื่อนไหว 2. ข้อมูลที่ถูกต้องหลังจากการเคลื่อนไหว 3. คีย์โหนดที่ถูกย้าย, โหนด, halfKeys, วัตถุ halfNodes สมุดที่อยู่ ในโหมด, พารามิเตอร์ที่ส่งคืนคือรายชื่อผู้รับที่ถูกต้อง รายการสำเนาคาร์บอนที่ถูกต้อง และรายการสำเนาคาร์บอนตาบอดด้านขวา |
3 | ซ้าย-ตรวจสอบ-เปลี่ยน | เหตุการณ์การตรวจสอบข้อมูลต้นฉบับด้านซ้าย | function(nodeObj, treeObj, checkAll) ดูค่าส่งคืนเหตุการณ์การตรวจสอบองค์ประกอบ el-tree พารามิเตอร์ checkAll ใหม่จะระบุว่าทั้งหมดถูกเลือกหรือไม่ |
4 | ขวา-ตรวจสอบ-เปลี่ยน | เหตุการณ์การตรวจสอบข้อมูลเป้าหมายที่ถูกต้อง | function(nodeObj, treeObj, checkAll) ดูค่าส่งคืนเหตุการณ์การตรวจสอบองค์ประกอบ el-tree พารามิเตอร์ checkAll ใหม่จะระบุว่าทั้งหมดถูกเลือกหรือไม่ |
5 | โหนดลากเริ่มต้น | เหตุการณ์เกิดขึ้นเมื่อโหนดเริ่มลาก | มีทั้งหมด 3 พารามิเตอร์ ตามลำดับ: "ซ้าย"/"ขวา" โหนดที่สอดคล้องกับโหนดที่ลาก และเหตุการณ์ |
6 | โหนดลากป้อน | เหตุการณ์เกิดขึ้นเมื่อลากไปยังโหนดอื่น | มีทั้งหมด 4 พารามิเตอร์ตามลำดับ: "ซ้าย"/"ขวา" โหนดที่สอดคล้องกับโหนดที่ลาก โหนดที่สอดคล้องกับโหนดที่ป้อน และเหตุการณ์ |
7 | โหนดลากออก | เหตุการณ์เกิดขึ้นเมื่อลากออกจากโหนด | มีทั้งหมด 4 พารามิเตอร์ตามลำดับ: "ซ้าย"/"ขวา" โหนดที่สอดคล้องกับโหนดที่ลาก โหนดที่สอดคล้องกับโหนดด้านซ้าย และเหตุการณ์ |
8 | โหนดลากไป | เหตุการณ์ที่เกิดขึ้นเมื่อโหนดถูกลาก (คล้ายกับเหตุการณ์การวางเมาส์เหนือของเบราว์เซอร์) | มีทั้งหมด 4 พารามิเตอร์ตามลำดับ: "ซ้าย"/"ขวา" โหนดที่สอดคล้องกับโหนดที่ลาก โหนดที่สอดคล้องกับโหนดที่ป้อนในปัจจุบัน และเหตุการณ์ |
9 | โหนดลากสิ้นสุด | เหตุการณ์เกิดขึ้นเมื่อการลากสิ้นสุด (อาจไม่สำเร็จ) | มีทั้งหมด 5 พารามิเตอร์ตามลำดับ: "ซ้าย"/"ขวา", โหนดที่สอดคล้องกับโหนดที่ถูกลาก, โหนดสุดท้ายที่ป้อนเมื่อการลากสิ้นสุดลง (อาจว่างเปล่า), ตำแหน่งตำแหน่งของโหนดที่ถูกลาก (ก่อน , หลัง, ภายใน) เหตุการณ์ |
10 | โหนดดรอป | เหตุการณ์เกิดขึ้นเมื่อการลากเสร็จสมบูรณ์ | มีทั้งหมด 5 พารามิเตอร์ตามลำดับ: "ซ้าย"/"ขวา", โหนดที่สอดคล้องกับโหนดที่ถูกลาก, โหนดสุดท้ายที่ป้อนเมื่อการลากสิ้นสุดลง, ตำแหน่งตำแหน่งของโหนดที่ถูกลาก (ก่อน, หลัง, ด้านใน) , เหตุการณ์ |
หมายเลขซีเรียล | ชื่อ | แสดงให้เห็น |
---|---|---|
1 | เคลียร์เช็คแล้ว | ล้างโหนดที่เลือก ล้างทั้งหมดตาม type:string left左边right右边all全部默认all |
2 | รับการตรวจสอบ | รับข้อมูลที่เลือก |
3 | ตั้งค่าตรวจสอบแล้ว | ตั้งค่าฟังก์ชันข้อมูลที่เลือก (leftKeys = [], rightKeys = []) |
4 | ล้างตัวกรอง | ล้างเงื่อนไขช่องค้นหา ล้างฟังก์ชันทั้งหมดตามค่าเริ่มต้น (ประเภท: สตริง) ซ้าย ซ้าย ขวา ทั้งหมด ค่าเริ่มต้นทั้งหมด |
หมายเลขซีเรียล | ชื่อ | แสดงให้เห็น |
---|---|---|
1 | ท้ายกระดาษซ้าย | ช่องด้านล่างซ้ายและขวาของกล่องลูกขนไก่ |
2 | ส่วนท้ายขวา | ช่องด้านล่างซ้ายและขวาของกล่องลูกขนไก่ |
3 | ชื่อซ้าย | เนื้อหาแบบกำหนดเองทางด้านซ้ายและด้านขวาของพื้นที่ชื่อกล่องลูกขนไก่ |
4 | ชื่อขวา | เนื้อหาแบบกำหนดเองทางด้านซ้ายและด้านขวาของพื้นที่ชื่อกล่องลูกขนไก่ |
5 | รูปร่าง | ช่องด้านบนของพื้นที่เนื้อหาด้านซ้าย |
6 | ถึง | ช่องด้านบนของพื้นที่เนื้อหาทางด้านขวา |
7 | เนื้อหาด้านซ้าย | ปรับแต่งโหนดทรีด้านซ้าย |
8 | เนื้อหาถูกต้อง | ปรับแต่งโหนดต้นไม้ที่ถูกต้อง |
2.4.6 แก้ไขข้อผิดพลาดในการสร้างใหม่ (โปรดอย่าใช้ 2.4.0-2.4.5) เพิ่มสามโหมดที่ไม่เกี่ยวข้องกับพ่อและลูกชาย (รวมถึงโหมดการอนุญาต) ปรับโครงสร้างไดเร็กทอรีส่วนประกอบ สร้างอัลกอริทึมรถรับส่งใหม่ การทดสอบข้อมูลตัวอย่างคร่าวๆ ได้รับการปรับปรุงอย่างมาก เพิ่มประสิทธิภาพการเลือกทั้งหมดเมื่อผู้ปกครองและเด็กไม่เกี่ยวข้องกัน เหตุการณ์ addBtn คือ add-btn และ RemoveBtn เพิ่มการล้างข้อมูลลงในช่องค้นหา ฟังก์ชั่นรถรับส่งที่ไม่เกี่ยวข้องกับผู้ปกครองและเด็ก
2.3.3 เปลี่ยนอัลกอริธึมสำหรับการตัดสินว่าเป้าหมายรถรับส่งมีอยู่แล้วที่ฝั่งตรงข้ามหรือไม่ เพื่อหลีกเลี่ยงผลลัพธ์การจับคู่ที่ไม่คาดคิดของนิพจน์ทั่วไป str ดั้งเดิม (เช่น ทั้งช่องลูกและช่องรายการมีรหัสนี้ หลังจากถอดรถรับส่งออกแล้ว ข้อมูลในลูกหายไป และข้อมูลในรายการหายไป ในขณะนี้ ตรรกะการจับคู่ดั้งเดิม
rootPidValue
ยังคงละเว้นรถรับส่งเมื่อเป้าหมายงานมีอยู่แล้วในฝั่งตรงข้าม) และ ไม่บังคับให้ pid ของโหนดรูทเปลี่ยนเป็น 0 อีกต่อไป
2.3.2 ปรับโหมดสมุดที่อยู่ให้เหมาะสม
2.3.1 ย้ายการตั้งค่า css ของเลเยอร์ภายนอกสำหรับ el-tree ไปยังเลเยอร์ด้านใน เพื่อลดผลกระทบของการยกเลิก CSS ที่กำหนดขอบเขตใน 2.3.0
2.3.0 ยกเลิกการกำหนดขอบเขต CSS
ในเวอร์ชัน 2.2.9 คุณลักษณะlazy จะมีผลกับด้านซ้ายของแผนผังเท่านั้น หากคุณต้องการด้านขวา ให้ใช้การโหลดแบบ Lazy Loading ->lazyRight
2.2.8 ปรับการใช้ defaultCheckedKeys และ defaultTransfer ร่วมกัน ซึ่งก่อให้เกิดปัญหาในการเพิ่มเหตุการณ์ โดยปกติแล้ว Shuttle แรกที่เป็นค่าเริ่มต้นคือพื้นหลังขี้เกียจและไม่สร้างข้อมูลสองรายการจาก Data และ toData โดยจะต้องแยกออกจากส่วนหน้า ในเวลานี้ จำเป็นต้องทริกเกอร์เหตุการณ์การเพิ่มอีกครั้ง หรือ แทนที่จะใช้ defaultTransfer คุณสามารถเรียกใช้ฟังก์ชัน addToAims(false) ด้วยตนเองได้ หากพารามิเตอร์ถูกส่งผ่านเป็นเท็จ การเรียกกลับจะไม่เกิดขึ้น กระตุ้น
2.2.6 เพิ่มวิธี
clearChecked
เพื่อล้างโหนดที่เลือก
2.2.5 เพิ่มพารามิเตอร์
defaultExpandedKeys
เพื่อขยายโหนดตามค่าเริ่มต้น
2.2.3 แยก
参数13 renderContent
คือrenderContentLeft,renderContentRight
ตามลำดับ กำหนดฟังก์ชันโหนดที่กำหนดเองทางด้านซ้ายและด้านขวา เพิ่มฟังก์ชันfilterNode
เพื่อปรับแต่งการค้นหา
2.2.2 เพิ่มพารามิเตอร์ไฮไลต์ที่เลือก
2.2.1 เพิ่มเหตุการณ์ที่เลือกทั้งหมดที่ชื่อ สำหรับคำอธิบายพารามิเตอร์โดยละเอียด โปรดดู
事件3,事件4
2.2.0 เพิ่มฟังก์ชันการโหลดแบบ Lazy Loading (โหมดสมุดที่อยู่ที่ไม่ใช่) สำหรับคำอธิบายพารามิเตอร์โดยละเอียด โปรดดู
参数21, 参数22
2.1.2 เพิ่มรายการที่กำหนดค่าได้สำหรับโหมดสมุดที่อยู่ แต่เป็นโหมดการบำรุงรักษาที่ไม่ใช่หลัก ความยืดหยุ่นยังคงต่ำ สำหรับคำอธิบายพารามิเตอร์โดยละเอียด ดู
参数20
2.1.1 แก้ไขข้อผิดพลาดของรถรับส่งเมื่อเลือกโหนดรูทในโหมดอาเรย์ ละทิ้งพารามิเตอร์
leafOnly
และระวังอย่าใช้พารามิเตอร์ arrayToTree หากเป็นโครงสร้างต้นไม้อยู่แล้ว
2.1.0 เพิ่มพารามิเตอร์ arrayTotree เพื่อแปลงอาร์เรย์หนึ่งมิติเป็นโครงสร้างต้นไม้ที่ต้องการโดยอัตโนมัติ (ดูพารามิเตอร์ 19 หรือ github-app.vue เพื่อดูรายละเอียด) แก้ไขปัญหาของโหนดที่เลือกเพียงครึ่งเดียวหลังจากรถรับส่งที่ไม่จำเป็นออก ตัวแปร
2.0.2 เพิ่มพื้นที่เนื้อหาที่กำหนดเองของสล็อตส่วนหัว
2.0.1 แก้ไขปัญหาการขาดการเชื่อมต่อระหว่างผู้ปกครองและเด็ก
เวอร์ชัน 2.0.0 เพิ่มกิจกรรมการตรวจสอบข้อมูลทางด้านซ้ายและด้านขวาของกล่องลูกขนไก่ และช่องด้านล่างด้านซ้ายและด้านขวาของกล่องลูกขนไก่
เวอร์ชัน 1.9.8 แก้ไขการรายงานข้อผิดพลาดของปุ่มที่กำหนดเอง
button_text
เวอร์ชัน 1.9.7 เพิ่มแอตทริบิวต์
defaultTransfer
เพื่อตอบสนองความต้องการของผู้ใช้ที่ไม่ต้องการแยกข้อมูลออกเป็น fromData และ toData และเพิ่มแอตทริบิวต์placeholder
1.9.0 ปรับปรุงความแข็งแกร่งในการจับคู่ปกติเมื่อ ID มีทั้งตัวเลขและตัวอักษร
เวอร์ชัน 1.8.9 แก้ไขข้อผิดพลาดการทำสำเนาที่เกิดจากรถรับส่งเมื่อโหนดเป็นทั้งโหนดสาขาในด้านหนึ่งและโหนดลีฟในอีกด้านหนึ่ง! แก้ไขข้อผิดพลาดตัวกรองที่ไม่ถูกต้องเมื่อกำหนดชื่อโหนดเอง
เวอร์ชัน 1.8.8 เพิ่มพารามิเตอร์
transferOpenNode
เพื่อจัดการว่าจะขยายโหนดหลังจากรับส่งหรือไม่ และdefaultCheckedKeys
ใช้เพื่อตั้งค่าการขยายเริ่มต้นเริ่มต้นของโหนด
เวอร์ชัน 1.8.7 เพิ่มโหมดสมุดที่อยู่ ซึ่งสามารถกำหนดค่าได้ผ่านฟิลด์โหมด ค่าทางเลือกของฟิลด์โหมดคือ
transfer
|addressList
เวอร์ชัน 1.7.7 ปรับพารามิเตอร์ของเหตุการณ์
addBtn
และremoveBtn
โดยส่งคืนพารามิเตอร์ 3 ตัว พารามิเตอร์ตัวแรกคือข้อมูลที่ถูกย้ายจากข้อมูล พารามิเตอร์ตัวที่สองคือข้อมูลที่ถูกย้ายไปยังข้อมูล และพารามิเตอร์ตัวที่สามคือออบเจ็กต์ {keys, nodes, harfKeys, harfNodes} . เพิ่มพารามิเตอร์renderContent
เพื่อรองรับการปรับแต่งโหนดต้นไม้
เวอร์ชัน 1.6.7 เพิ่ม
filter,openAll
เพื่อตั้งค่าว่าจะเปิดใช้งานการกรองหรือไม่ และจะขยายทั้งหมดตามค่าเริ่มต้นหรือไม่
เวอร์ชัน 1.5.9 เพิ่มพารามิเตอร์
leafOnly
เพื่อตั้งค่าว่าจะส่งคืนเฉพาะโหนดปลายสุดของแผนผังหรือไม่
เวอร์ชัน 1.5.8 กู้คืนโค้ดสำหรับการส่งคืน
nodes
ที่ถูกลบอย่างอธิบายไม่ได้ในเวอร์ชันก่อนหน้า หากโปรเจ็กต์ของคุณต้องการเพียงค่าโหนด-คีย์ของรถรับส่ง ก็ไม่จำเป็นต้องอัปเดต! ขอโทษ - -
เวอร์ชัน 1.5.7 แก้ไขปัญหาที่บางครั้งข้อมูลอะซิงโครนัสของส่วนประกอบย่อยไม่ได้รับการอัพเดต! แก้ไขข้อผิดพลาดเมื่อปรับแต่งชื่อพารามิเตอร์ node_key ลูก ๆ แทนที่ pid ของชั้นแรกของข้อมูลโดยอัตโนมัติด้วย 0
เวอร์ชัน 1.4.9 เพิ่มพารามิเตอร์การเรียกกลับสำหรับการเพิ่มและการลบปุ่ม พารามิเตอร์แรกของฟังก์ชัน (คีย์ โหนด) คือค่าโหนดคีย์ของโหนดที่เลือก และพารามิเตอร์ตัวที่สองคือโหนดโหนดที่เลือก
เวอร์ชัน 1.4.8 แก้ไขปัญหาที่ ID ไม่สามารถผ่านฟังก์ชันการตรวจสอบซ้ำเมื่อเป็นหมายเลขประเภท แต่ก็ยังแนะนำให้ใช้ประเภทสตริงสำหรับ ID
เวอร์ชัน 1.4.7 เพิ่มพารามิเตอร์
defaultProps
พารามิเตอร์node_key
และพารามิเตอร์pid
ฟังก์ชันหลักคือการปรับแต่งชื่อฟิลด์ที่สำคัญบางส่วนเพื่อปรับปรุงความยืดหยุ่นของข้อมูล และหลีกเลี่ยงการเสียสละกับพื้นหลังเนื่องจากชื่อฟิลด์ที่แตกต่างกัน
เวอร์ชัน 1.3.7 ยกเลิกการพึ่งพาไลบรารี loadsh ก่อนหน้านี้ ไลบรารีนี้ใช้สำหรับการประมวลผลสำเนาเชิงลึกบางรายการเท่านั้น
พารามิเตอร์: width
คำอธิบาย: ประเภท宽度
: ต้องใช้ String
: false
ค่าเริ่มต้น: 100%
ส่วนเสริม:建议在外部盒子设定宽度和位置
พารามิเตอร์: height
คำอธิบาย: ประเภท高度
: String
ที่จำเป็น: false
เริ่มต้น: 320px
พารามิเตอร์: title
คำอธิบาย: ประเภท标题
: Array
จำเป็น: false
ค่าเริ่มต้น: ["源列表", "目标列表"]
พารามิเตอร์: button_text
คำอธิบาย: ประเภท按钮名字
: Array
จำเป็น: false
เริ่มต้น:空
พารามิเตอร์: from_data
คำอธิบาย: ประเภท源数据
: Array
จำเป็น: true
ส่วนเสริม:数据格式同element-ui tree组件,但必须有id和pid
พารามิเตอร์: to_data
คำอธิบาย: ประเภท目标数据
: Array
จำเป็น: true
ส่วนเสริม:数据格式同element-ui tree组件,但必须有id和pid
พารามิเตอร์: defaultProps
คำอธิบาย:配置项-同el-tree中props
จำเป็น: false
ส่วนเสริม:用法和el-tree的props一样
พารามิเตอร์: คำอธิบาย node_key
:自定义node-key的值,默认为id
: false
ส่วนเสริม:必须与treedata数据内的id参数名一致,必须唯一
พารามิเตอร์: pid
คำอธิบาย:自定义pid的参数名,默认为"pid"
จำเป็น: false
ส่วนเสริม:有网友提出后台给的字段名不叫pid,因此增加自定义支持
--(ล้าสมัย) ไม่แนะนำ! พารามิเตอร์: leafOnly
คำอธิบาย:是否只返回叶子节点
ประเภท: Boolean
จำเป็น: false
ส่วนเสริม:默认false,如果你只需要返回的末端子节点可使用此参数
พารามิเตอร์: คำอธิบาย filter
:是否开启筛选功能
ประเภท: Boolean
จำเป็น: false
พารามิเตอร์: openAll
Description:是否默认展开全部
: Boolean
Required: false
พารามิเตอร์: renderContent
คำอธิบาย: ประเภท自定义树节点
: Function
ที่ต้องการ: false
การเสริม:用法同element-ui tree
พารามิเตอร์: คำอธิบาย mode
:设置模式,字段可选值为transfer|addressList
ที่อยู่: String
ที่จำเป็น: false
ส่วนเสริม: mode默认为transfer模式,即树形穿梭框模式,可配置字段为addressList改为通讯录模式,通讯录模式时按钮不可自定义名字,如要自定义标题名在title数组传入四个值即可,addressList模式时标题默认为通讯录、收件人、抄送人、密送人
พารามิเตอร์: transferOpenNode
คำอธิบาย:穿梭后是否展开穿梭的节点
: ต้องใช้ Boolean
: false
ส่วนเสริม:默认为true即展开穿梭的节点,便于视觉查看,增加此参数是因为数据量大时展开会有明显卡顿问题,但注意,如此参数设置为false则穿梭后不展开,毕竟无法确定第几层就会有庞大数据
พารามิเตอร์: defaultCheckedKeys
คำอธิบาย: ประเภท默认展开节点
: Array
ที่ต้องการ: false
ส่วนเสริม:只匹配初始时默认节点,不会在你操作后动态改变默认节点
พารามิเตอร์: placeholder
คำอธิบาย:设置搜索框提示语
: String
ที่จำเป็น: false
ส่วนเสริม:默认为请输入关键词进行筛选
พารามิเตอร์: defaultTransfer
description:是否自动穿梭一次默认选中defaultCheckedKeys的节点
: Boolean
น จำเป็น: false
ส่วนเสริม:默认false,用来满足用户不想将数据拆分成fromData和toData的需求
พารามิเตอร์: arrayToTree
คำอธิบาย:是否开启一维数组转化为树形结构
ประเภท: Boolean
จำเป็น: false
ส่วนเสริม:数据必须存在根节点,并且不会断节,数据格式详见github上app.vue,根据id、pid对应关系转化,存在一定的性能问题
พารามิเตอร์: addressOptions
คำอธิบาย:通讯录模式配置项{num: Number, suffix: String, connector: String}
ประเภท: Object
ที่ต้องการ: false
ส่วนเสริม: num-> 所需右侧通讯录个数,默认3 suffix-> label后想要拼接的字段(如id,即取此条数据的id拼接在后方)默认suffix connector -> 连接符(字符串)默认-
พารามิเตอร์: lazy
คำอธิบาย: ไม่是否启用懒加载
หรือไม่ ประเภท: Boolean
จำเป็น: false
ส่วนเสริม:默认false,效果动el-tree懒加载,不可和openAll或默认展开同时使用
พารามิเตอร์: lazyFn
คำอธิบาย: ประเภท懒加载的回调函数
: Function
ที่จำเป็น: true
ส่วนเสริม:当适用lazy时必须传入回调函数,示例:lazyFn='loadNode',返回参数loadNode(node, resolve, from), node->当前展开节点node,resolve->懒加载resolve,from -> left|right 表示回调来自左侧|右侧
เหตุการณ์: addBtn
คำอธิบาย:点击添加按钮时触发的事件
: function(fromData,toData,obj),树形穿梭框transfer模式分别为1.移动后左侧数据,2.移动后右侧数据,3.移动的节点keys、nodes、halfKeys、halfNodes对象;通讯录addressList模式时返回参数为右侧收件人列表、右侧抄送人列表、右侧密送人列表
เหตุการณ์: removeBtn
คำอธิบาย:点击移除按钮时触发的事件
: function(fromData,toData,obj),树形穿梭框transfer模式分别为1.移动后左侧数据,2.移动后右侧数据,3.移动的节点keys、nodes、halfKeys、halfNodes对象;通讯录addressList模式时返回参数为右侧收件人列表、右侧抄送人列表、右侧密送人列表
เหตุการณ์: left-check-change
คำอธิบาย: พารามิเตอร์การเรียกกลับ左侧源数据勾选事件
: function(nodeObj, treeObj, checkall)见el-tree组件check事件返回值,新增第三个参数表示是否全部选中
เหตุการณ์: right-check-change
คำอธิบาย:右侧目标数据勾选事件
: function(nodeObj, treeObj, checkall)见el-tree组件check事件返回值,新增第三个参数表示是否全部选中
ช่อง: left-footer
, right-footer
คำอธิบาย:穿梭框左侧、右侧底部slot
ช่อง: title-left
, title-right
คำอธิบาย:穿梭框标题区左侧、右侧自定义内容