欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

vue ztree實現拖拽

錢多多1年前10瀏覽0評論

在實現拖拽功能時,Ztree是比較常用的一個插件。在Vue中使用Ztree實現拖拽功能也非常方便。本文將詳細介紹如何在Vue中使用Ztree實現拖拽功能。

首先,我們需要引入Ztree插件。可以使用CDN引入,也可以下載到本地引入。在引入插件之后,需要在Vue頁面中創建Ztree節點。在Vue中,我們可以使用ref屬性來獲取創建的節點。代碼如下:

<template>
<div>
<ul id="tree" ref="tree"></ul>
</div>
</template>

接下來,我們需要在Vue中初始化Ztree。在Vue的created鉤子函數中進行初始化操作。代碼如下:

export default {
created() {
const zNodes = [
{ name:"父節點1 - 展開", open:true,
children: [
{ name:"父節點11 - 折疊",
children: [
{ name:"葉子節點111"},
{ name:"葉子節點112"},
{ name:"葉子節點113"},
{ name:"葉子節點114"}
]},
{ name:"父節點12 - 折疊",
children: [
{ name:"葉子節點121"},
{ name:"葉子節點122"},
{ name:"葉子節點123"},
{ name:"葉子節點124"}
]}
]},
{ name:"父節點2 - 折疊",
children: [
{ name:"父節點21 - 展開", open:true,
children: [
{ name:"葉子節點211"},
{ name:"葉子節點212"},
{ name:"葉子節點213"},
{ name:"葉子節點214"}
]},
{ name:"父節點22 - 折疊",
children: [
{ name:"葉子節點221"},
{ name:"葉子節點222"},
{ name:"葉子節點223"},
{ name:"葉子節點224"}
]}
]}
];
const treeObj = $.fn.zTree.init($(this.$refs.tree), this.setting, zNodes);
this.treeObj = treeObj;
},
data() {
return {
treeObj: null,
setting: {
edit: {
draggable: {
autoExpandTrigger: true,
prev: movePrev,
inner: moveInner,
next: moveNext
},
enable: true
}
}
}
}
}

在初始化Ztree之后,我們需要實現拖拽功能。在上述代碼中,我們已經開啟了Ztree的編輯功能。接下來,需要實現拖拽的三個回調函數:movePrev、moveInner和moveNext。這三個回調函數將會在拖拽時被調用。代碼如下:

function movePrev(treeId, nodes, targetNode) {
return targetNode.parentNode && targetNode.parentNode.dropInner && targetNode.id !== '1';
}
function moveInner(treeId, nodes, targetNode) {
return targetNode.dropInner;
}
function moveNext(treeId, nodes, targetNode) {
return targetNode.parentNode && targetNode.parentNode.dropInner && targetNode.id !== '1';
}

在上述代碼中,每個回調函數都會返回一個布爾值。當返回值為false時,拖拽操作將被禁止,在拖拽操作時節點將無法移動。

至此,我們就已經完成了在Vue中使用Ztree實現拖拽功能的操作。