diff --git a/src/components/tree/node.vue b/src/components/tree/node.vue index 1ecfd3f..261b89d 100644 --- a/src/components/tree/node.vue +++ b/src/components/tree/node.vue @@ -14,7 +14,7 @@ <span :class="titleClasses" v-html="data.title" @click="handleSelect"></span> <Tree-node v-for="item in data.children" - :key="item" + :key="item.nodeKey" :data="item" :visible="data.expand" :multiple="multiple" diff --git a/src/components/tree/tree.vue b/src/components/tree/tree.vue index c0f7e96..f6b5e22 100644 --- a/src/components/tree/tree.vue +++ b/src/components/tree/tree.vue @@ -2,7 +2,7 @@ <div :class="prefixCls"> <Tree-node v-for="item in data" - :key="item" + :key="item.nodeKey" :data="item" visible :multiple="multiple" @@ -19,6 +19,8 @@ const prefixCls = 'ivu-tree'; + let key = 1; + export default { name: 'Tree', mixins: [ Emitter, Locale ], @@ -68,6 +70,7 @@ updateData (isInit = true) { // init checked status function reverseChecked(data) { + if (!data.nodeKey) data.nodeKey = key++; if (data.children) { let checkedLength = 0; data.children.forEach(node => { -- libgit2 0.21.4