diff --git a/src-doc/App.vue b/src-doc/App.vue index a47f97684cc538236cb7ee4dfff0817ff70439d1..85e32aa3ad1b69f78fbadf38c137adf1af1b09d0 100644 --- a/src-doc/App.vue +++ b/src-doc/App.vue @@ -4,6 +4,7 @@ + + \ No newline at end of file diff --git a/src-doc/page/normal/tree.vue b/src-doc/page/normal/tree.vue index 66ab0c78aef3ddda5d077c5125ab65aba8ac75b5..b546770aca82806c71c72ed077552918549b715a 100644 --- a/src-doc/page/normal/tree.vue +++ b/src-doc/page/normal/tree.vue @@ -214,9 +214,54 @@ labelField="name" childrenField="subs" draggable - /> + showCheckbox + > + + + + + + + + + + +
    +
  1. 父子关联模式下,拖拽节点可能会引起 选中/取消选中 事件
  2. +
  3. 拖拽节点会刷新节点的状态,每个节点会先判断子节点是否全都选中,全部选中并且自身未选中的情况下,会选中自身
  4. +
  5. 自身选中,但是存在子节点未选中的情况下,会取消选中自身
  6. +
  7. 非父子关联模式下,拖拽节点不会导致节点选中状态变化
  8. +
+
+ +
    +
  1. 2-2开头的id不能被拖拽
  2. +
  3. 3开头的id不能放置任何节点
  4. +
+ +
@@ -436,6 +481,14 @@ nodeIcon(treeNode) { return treeNode.isLeaf ? 'el-icon-document' : 'el-icon-folder-opened' }, + allowDrag(dragTreeNode, event) { + // 2-2开头的id不能被拖拽 + return !dragTreeNode.data.id.startsWith('2-2') + }, + allowDrop(dragTreeNode, dropTreeNode, dragType, event) { + // 3-开头的id不能放置任何节点 + return !dropTreeNode.data.id.startsWith('3') + }, }, } diff --git a/src-doc/page/normal/virtual-tree-large-data.vue b/src-doc/page/normal/virtual-tree-large-data.vue new file mode 100644 index 0000000000000000000000000000000000000000..877a1b4c61731ac5bd2dc9e502c5e25a9b34f4b3 --- /dev/null +++ b/src-doc/page/normal/virtual-tree-large-data.vue @@ -0,0 +1,61 @@ + + + + + \ No newline at end of file diff --git a/src-doc/page/normal/virtual-tree.vue b/src-doc/page/normal/virtual-tree.vue new file mode 100644 index 0000000000000000000000000000000000000000..f9bd4c3dc8d0cbf88f2aa62c04d26049fc1a237a --- /dev/null +++ b/src-doc/page/normal/virtual-tree.vue @@ -0,0 +1,287 @@ + + + + + \ No newline at end of file diff --git a/src-doc/page/test/test-canvas.vue b/src-doc/page/test/test-canvas.vue new file mode 100644 index 0000000000000000000000000000000000000000..d80913e2b296805fb702b58e2b7b39d44f6c3e46 --- /dev/null +++ b/src-doc/page/test/test-canvas.vue @@ -0,0 +1,41 @@ + + + + + \ No newline at end of file diff --git a/src-doc/page/test/test-svg.vue b/src-doc/page/test/test-svg.vue new file mode 100644 index 0000000000000000000000000000000000000000..c6a2f00e5f2467b2b4f993c38583c476e9d975c7 --- /dev/null +++ b/src-doc/page/test/test-svg.vue @@ -0,0 +1,44 @@ + + + + + \ No newline at end of file diff --git a/src/components/index.js b/src/components/index.js index 3b874452820a95771f6bd8ab218ab01e28e6c3d7..115a1403b157cfe5dcf9dcbdd1499bb9bb037f4e 100644 --- a/src/components/index.js +++ b/src/components/index.js @@ -30,13 +30,15 @@ import progress from './progress' import badge from './badge' import pagination from './pagination' import tree from './tree' +import virtualTree from './virtual-tree' +import step from './step' const plugins = [ button, icon, input, checkbox, radio, select, form, toggle, number, slider, tag, rate, loading, popper, popover, tooltip, dropdown, message, dialog, notice, - list, scroll, dom, collapse, card, carousel, grid, progress, badge, pagination, tree, + list, scroll, dom, collapse, card, carousel, grid, progress, badge, pagination, tree, virtualTree, step, virtualList, ] diff --git a/src/components/list/pl-item.vue b/src/components/list/pl-item.vue index 508c26a85fdb1d0bb64c319913423e445f78537a..5d7750e520a89142150ac38cb30640bdd1c05fb6 100644 --- a/src/components/list/pl-item.vue +++ b/src/components/list/pl-item.vue @@ -1,7 +1,7 @@ \ No newline at end of file diff --git a/src/components/list/pl-list.vue b/src/components/list/pl-list.vue index 3ed283d2ecde144664251e08f45710fdcda6dd28..a8697448aabcddd9ea44ad3b092145c97a1ffcfa 100644 --- a/src/components/list/pl-list.vue +++ b/src/components/list/pl-list.vue @@ -1,5 +1,5 @@ @@ -11,8 +11,9 @@ direction: { //item入场出场动画 'left', 'right', 'top', 'bottom', 'left-top', 'top-left', 'right-top', 'top-right', 'left-bottom', 'bottom-left', 'right-bottom', 'bottom-right' type: String, default: 'bottom-right', - + }, + tag: {type: String, default: 'div'}, }, } \ No newline at end of file diff --git a/src/components/step/index.js b/src/components/step/index.js new file mode 100644 index 0000000000000000000000000000000000000000..9201a6fcff54d80792f1c84e96def6647e07110c --- /dev/null +++ b/src/components/step/index.js @@ -0,0 +1,4 @@ +import component from './pl-step.vue' +import {plugin} from "../../utils"; + +export default plugin(component) \ No newline at end of file diff --git a/src/components/step/pl-step.vue b/src/components/step/pl-step.vue new file mode 100644 index 0000000000000000000000000000000000000000..ce2380d1cc2d7f15f8fb0c20fbbf1ebed64ea611 --- /dev/null +++ b/src/components/step/pl-step.vue @@ -0,0 +1,19 @@ + + + + + \ No newline at end of file diff --git a/src/components/tree/pl-tree-node.vue b/src/components/tree/pl-tree-node.vue index 757a839ead76b9ff52dec77721ac6c26e450fabf..1fff618756b31328032ae9cc93e0229d00bd7708 100644 --- a/src/components/tree/pl-tree-node.vue +++ b/src/components/tree/pl-tree-node.vue @@ -1,6 +1,4 @@