Commit 2e84df449ae433e8176ecd76f024cd097ba864f6

Authored by 梁灏
1 parent e6e97035

fixed Tree key bug under Vue 2.4.1

src/components/tree/node.vue
@@ -14,7 +14,7 @@ @@ -14,7 +14,7 @@
14 <span :class="titleClasses" v-html="data.title" @click="handleSelect"></span> 14 <span :class="titleClasses" v-html="data.title" @click="handleSelect"></span>
15 <Tree-node 15 <Tree-node
16 v-for="item in data.children" 16 v-for="item in data.children"
17 - :key="item" 17 + :key="item.nodeKey"
18 :data="item" 18 :data="item"
19 :visible="data.expand" 19 :visible="data.expand"
20 :multiple="multiple" 20 :multiple="multiple"
src/components/tree/tree.vue
@@ -2,7 +2,7 @@ @@ -2,7 +2,7 @@
2 <div :class="prefixCls"> 2 <div :class="prefixCls">
3 <Tree-node 3 <Tree-node
4 v-for="item in data" 4 v-for="item in data"
5 - :key="item" 5 + :key="item.nodeKey"
6 :data="item" 6 :data="item"
7 visible 7 visible
8 :multiple="multiple" 8 :multiple="multiple"
@@ -19,6 +19,8 @@ @@ -19,6 +19,8 @@
19 19
20 const prefixCls = 'ivu-tree'; 20 const prefixCls = 'ivu-tree';
21 21
  22 + let key = 1;
  23 +
22 export default { 24 export default {
23 name: 'Tree', 25 name: 'Tree',
24 mixins: [ Emitter, Locale ], 26 mixins: [ Emitter, Locale ],
@@ -68,6 +70,7 @@ @@ -68,6 +70,7 @@
68 updateData (isInit = true) { 70 updateData (isInit = true) {
69 // init checked status 71 // init checked status
70 function reverseChecked(data) { 72 function reverseChecked(data) {
  73 + if (!data.nodeKey) data.nodeKey = key++;
71 if (data.children) { 74 if (data.children) {
72 let checkedLength = 0; 75 let checkedLength = 0;
73 data.children.forEach(node => { 76 data.children.forEach(node => {