refactor: change event name

This commit is contained in:
youxingzhi
2019-02-15 09:41:53 +08:00
parent a8284583da
commit cde7836539
3 changed files with 42 additions and 23 deletions

View File

@@ -3,6 +3,9 @@
<button @click="addNode">Add Node</button> <button @click="addNode">Add Node</button>
<vue-tree-list <vue-tree-list
@click="onClick" @click="onClick"
@change-name="onChange"
@delete-node="onChange"
@add-node="onChange"
:model="data" :model="data"
default-tree-node-name="new node" default-tree-node-name="new node"
default-leaf-node-name="new leaf" default-leaf-node-name="new leaf"
@@ -53,13 +56,17 @@
} }
}, },
methods: { methods: {
addNode: function () { onChange (data) {
console.log(data)
},
addNode () {
var node = new TreeNode({ name: 'new node', isLeaf: false }) var node = new TreeNode({ name: 'new node', isLeaf: false })
if (!this.data.children) this.data.children = [] if (!this.data.children) this.data.children = []
this.data.addChildren(node) this.data.addChildren(node)
}, },
getNewTree: function () { getNewTree () {
var vm = this var vm = this
function _dfs (oldNode) { function _dfs (oldNode) {
var newNode = {} var newNode = {}

View File

@@ -9,14 +9,25 @@ A vue component for tree structure. Support adding treenode/leafnode, editing no
``npm install vue-tree-list`` ``npm install vue-tree-list``
```javascript ```javascript
<button @click="addNode">Add Node</button> <div>
<vue-tree-list @click="onClick" :model="data" default-tree-node-name="new node" default-leaf-node-name="new leaf"></vue-tree-list> <button @click="addNode">Add Node</button>
<button @click="getNewTree">Get new tree</button> <vue-tree-list
<pre> @click="onClick"
{{newTree}} @change-name="onChange"
</pre> @delete-node="onChange"
@add-node="onChange"
:model="data"
default-tree-node-name="new node"
default-leaf-node-name="new leaf"
v-bind:default-expanded="false">
</vue-tree-list>
<button @click="getNewTree">Get new tree</button>
<pre>
{{newTree}}
</pre>
</div>
... ...
import { VueTreeList, Tree, TreeNode } from '../src' import { VueTreeList, Tree, TreeNode } from 'vue-tree-list'
export default { export default {
components: { components: {
VueTreeList VueTreeList
@@ -43,7 +54,7 @@ export default {
name: 'Node 2', name: 'Node 2',
id: 3, id: 3,
pid: 0, pid: 0,
dragDisabled: true disabled: true
}, },
{ {
name: 'Node 3', name: 'Node 3',
@@ -54,13 +65,17 @@ export default {
} }
}, },
methods: { methods: {
addNode: function () { onChange (data) {
console.log(data)
},
addNode () {
var node = new TreeNode({ name: 'new node', isLeaf: false }) var node = new TreeNode({ name: 'new node', isLeaf: false })
if (!this.data.children) this.data.children = [] if (!this.data.children) this.data.children = []
this.data.addChildren(node) this.data.addChildren(node)
}, },
getNewTree: function () { getNewTree () {
var vm = this var vm = this
function _dfs (oldNode) { function _dfs (oldNode) {
var newNode = {} var newNode = {}
@@ -92,8 +107,8 @@ export default {
# props # props
**default-tree-node-name** **default-tree-node-name**
Default name for new treenode. Default name for new treenode.
**default-leaf-node-name** **default-leaf-node-name**
@@ -118,14 +133,11 @@ Default node is expanded or not.
# events # events
**click** **click**
```javascript **change-name**
<vue-tree-list @click="onClick" ...
... **delete-node**
onClick(model) {
console.log(model) **add-node**
}
...
```
# Forbid dragging # Forbid dragging
Use `dragDisabled` to forbid dragging: Use `dragDisabled` to forbid dragging:

View File

@@ -216,7 +216,7 @@
var node = new TreeNode({ name, isLeaf }) var node = new TreeNode({ name, isLeaf })
this.model.addChildren(node, true) this.model.addChildren(node, true)
var root = this.getRootNode(); var root = this.getRootNode();
root.$emit('new-node', node) root.$emit('add-node', node)
}, },
dragStart(e) { dragStart(e) {