mirror of
https://github.com/ElemeFE/element.git
synced 2025-12-19 12:04:02 +08:00
Tree: fixed default-expanded-keys can not set again.
This commit is contained in:
@@ -66,30 +66,30 @@ export default class TreeStore {
|
||||
}
|
||||
}
|
||||
|
||||
getNodeByData(data) {
|
||||
const key = typeof data === 'string' ? data : getNodeKey(this.key, data);
|
||||
getNode(data) {
|
||||
const key = typeof data !== 'object' ? data : getNodeKey(this.key, data);
|
||||
return this.nodesMap[key];
|
||||
}
|
||||
|
||||
insertBefore(data, refData) {
|
||||
const refNode = this.getNodeByData(refData);
|
||||
const refNode = this.getNode(refData);
|
||||
refNode.parent.insertBefore({ data }, refNode);
|
||||
}
|
||||
|
||||
insertAfter(data, refData) {
|
||||
const refNode = this.getNodeByData(refData);
|
||||
const refNode = this.getNode(refData);
|
||||
refNode.parent.insertAfter({ data }, refNode);
|
||||
}
|
||||
|
||||
remove(data) {
|
||||
const node = this.getNodeByData(data);
|
||||
const node = this.getNode(data);
|
||||
if (node) {
|
||||
node.parent.removeChild(node);
|
||||
}
|
||||
}
|
||||
|
||||
append(data, parentData) {
|
||||
const parentNode = parentData ? this.getNodeByData(parentData) : this.root;
|
||||
const parentNode = parentData ? this.getNode(parentData) : this.root;
|
||||
|
||||
if (parentNode) {
|
||||
parentNode.insertChild({ data });
|
||||
@@ -206,6 +206,7 @@ export default class TreeStore {
|
||||
}
|
||||
|
||||
setCheckedKeys(keys, leafOnly = true) {
|
||||
this.defaultCheckedKeys = keys;
|
||||
const key = this.key;
|
||||
const checkedKeys = {};
|
||||
keys.forEach((key) => {
|
||||
@@ -214,4 +215,14 @@ export default class TreeStore {
|
||||
|
||||
this._setCheckedKeys(key, leafOnly, checkedKeys);
|
||||
}
|
||||
|
||||
setDefaultExpandedKeys(keys) {
|
||||
keys = keys || [];
|
||||
this.defaultExpandedKeys = keys;
|
||||
|
||||
keys.forEach((key) => {
|
||||
const node = this.getNode(key);
|
||||
if (node) node.expand(null, this.autoExpandParent);
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user