From 97098fcd85c26743e8630111dc37088d0db78151 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A2=81=E7=81=8F?= Date: Wed, 25 Oct 2017 19:12:14 +0800 Subject: [PATCH] update Tree example --- examples/routers/tree.vue | 15 ++++++++------- src/components/tree/node.vue | 12 ++++++++++-- src/components/tree/render.js | 4 +++- 3 files changed, 21 insertions(+), 10 deletions(-) diff --git a/examples/routers/tree.vue b/examples/routers/tree.vue index d18fb527..2d5e4c74 100644 --- a/examples/routers/tree.vue +++ b/examples/routers/tree.vue @@ -146,14 +146,14 @@ } }, methods: { - renderContent (h, { node }) { + renderContent (h, { data, node }) { return h('span', { style: { display: 'inline-block', width: '100%' } }, [ - h('span', node.title), + h('span', data.title), h('span', { style: { display: 'inline-block', @@ -169,7 +169,7 @@ marginRight: '8px' }, on: { - click: () => { this.append(node) } + click: () => { this.append(node, data) } } }), h('Button', { @@ -177,21 +177,22 @@ icon: 'ios-minus-empty' }), on: { - click: () => { this.remove(node) } + click: () => { this.remove(node, data) } } }) ]) ]); }, - append (node) { - this.$set(node, 'children', [{ + append (node, data) { + this.$set(data, 'children', [{ title: 'appended node', expand: true }]); }, - remove (node) { + remove (node, data) { const parent = node.parent; console.log(node); + console.log(data); } } } diff --git a/src/components/tree/node.vue b/src/components/tree/node.vue index f7b6de91..7a3aaf79 100644 --- a/src/components/tree/node.vue +++ b/src/components/tree/node.vue @@ -12,8 +12,8 @@ :indeterminate="data.indeterminate" :disabled="data.disabled || data.disableCheckbox" @click.native.prevent="handleCheck"> - - + + {{ data.title }} item.nodeKey === this.data.nodeKey); + } else { + return {}; + } } }, methods: { diff --git a/src/components/tree/render.js b/src/components/tree/render.js index ce66f3a5..72e4fc85 100644 --- a/src/components/tree/render.js +++ b/src/components/tree/render.js @@ -3,11 +3,13 @@ export default { functional: true, props: { render: Function, + data: Object, node: Object }, render: (h, ctx) => { const params = { - node: ctx.props.node + node: ctx.props.node, + data: ctx.props.data }; return ctx.props.render(h, params); }