|
@@ -16,6 +16,8 @@
|
|
|
:check-strictly="checkStrictly"
|
|
|
check-on-click-node
|
|
|
:expand-on-click-node="false"
|
|
|
+ :default-expanded-keys="defaultExpandedKeys"
|
|
|
+ :key="treeKey"
|
|
|
@check="checkClick"
|
|
|
@check-change="checkChange"
|
|
|
>
|
|
@@ -61,6 +63,8 @@ export default {
|
|
|
defaultProps: {
|
|
|
label: "name",
|
|
|
},
|
|
|
+ treeKey: "",
|
|
|
+ defaultExpandedKeys: [],
|
|
|
};
|
|
|
},
|
|
|
created() {
|
|
@@ -68,7 +72,7 @@ export default {
|
|
|
},
|
|
|
watch: {
|
|
|
value(val, oldVal) {
|
|
|
- if (val.join() !== oldVal.join()) this.setCheckedNode(val);
|
|
|
+ if (val.join() !== oldVal.join()) this.initCheckedNode(val);
|
|
|
},
|
|
|
},
|
|
|
methods: {
|
|
@@ -100,7 +104,18 @@ export default {
|
|
|
this.leafOrgIds = leafOrgIds;
|
|
|
|
|
|
this.$nextTick(() => {
|
|
|
- this.setCheckedNode(this.value);
|
|
|
+ this.initCheckedNode(this.value);
|
|
|
+ });
|
|
|
+ },
|
|
|
+ initCheckedNode(val) {
|
|
|
+ this.defaultExpandedKeys = [];
|
|
|
+ this.treeKey = this.$randomCode();
|
|
|
+ this.$nextTick(() => {
|
|
|
+ this.setCheckedNode(val);
|
|
|
+ const checkNodes = this.$refs.MenuTree.getCheckedNodes();
|
|
|
+ this.defaultExpandedKeys = checkNodes
|
|
|
+ .map((item) => item.parentId)
|
|
|
+ .filter((item) => !!item);
|
|
|
});
|
|
|
},
|
|
|
setDisabledOrgs(disabledOrgIds) {
|