尝试了在tree标签里面添加ref属性获取整个组件的数据,但是在tree的store里面的nodesMap对象里面只有在初始化数据时选中或者半选中的数据,控制expanded的值不能达到想要的效果
<el-dialog ref="dialogEditMenuForm" draggable :title="editMenuFormTitle+'权限'" append-to-body v-model="treeDialogShow" width="40%">
<el-tree
:data="tableDataMenus"
ref="tableDataMenusRef"
show-checkbox
node-key="id"
:default-checked-keys=cheackKeys
:props="defaultProps"
@check-change="treeChange"
/>
<template #footer>
<div class="dialog-footer">
<el-button @click="treeDialogShow = false">取 消</el-button>
<el-button type="primary" @click="treeEditMeny()">确 定</el-button>
</div>
</template>
</el-dialog>
function treeChange(nodeData,nodeSelected){
console.log('nodeData' ,nodeData);
console.log('nodeSelected' ,nodeSelected);
let tree =tableDataMenusRef.value
let node=tree.getCheckedNodes(nodeData.Id)
// tableDataMenusRef.value=tableDataMenusRef.value.store.nodesMap.forEach(el=>{el.expanded=nodeSelected})
console.log('stroe',tableDataMenusRef.value.store.nodesMap);
for(let key in tableDataMenusRef.value.store.nodesMap){
console.log('key',tableDataMenusRef.value.store.nodesMap[key].expanded=nodeSelected);
}
console.log("ref",tableDataMenusRef.value);
console.log('node',node);
}