Commit cd7156cb authored by furybean's avatar furybean Committed by cinwell.li

Fix Tree Bug: set data does not work

parent 8af8c8b8
......@@ -28,7 +28,7 @@ const reInitChecked = function(node) {
const getPropertyFromData = function(node, prop) {
const props = node.props;
const data = node.data;
const data = node.data || {};
const config = props[prop];
if (typeof config === 'function') {
......@@ -69,23 +69,28 @@ export default class Node {
}
if (this.lazy !== true && this.data) {
let children;
if (this.level === -1 && this.data instanceof Array) {
children = this.data;
} else {
children = getPropertyFromData(this, 'children') || [];
}
this.setData(this.data);
}
}
for (let i = 0, j = children.length; i < j; i++) {
const child = children[i];
this.insertChild(new Node({
data: child,
parent: this,
lazy: this.lazy,
load: this.load,
props: this.props
}));
}
setData(data) {
this.data = data;
let children;
if (this.level === -1 && this.data instanceof Array) {
children = this.data;
} else {
children = getPropertyFromData(this, 'children') || [];
}
for (let i = 0, j = children.length; i < j; i++) {
const child = children[i];
this.insertChild(new Node({
data: child,
parent: this,
lazy: this.lazy,
load: this.load,
props: this.props
}));
}
}
......
......@@ -68,6 +68,12 @@
}
},
watch: {
data(newVal) {
this.tree.root.setData(newVal);
}
},
methods: {
getCheckedNodes(leafOnly) {
return this.tree.getCheckedNodes(leafOnly);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment