情境:
需求是进入页面时默认展开树的所有一级节点,并且在一级节点label处有展开按钮,点击展开,展开该一级节点下所有节点到最末级节点。
展开后,展开按钮变为收起按钮,点击收起,收起到展开该级的一级节点(即恢复原样)。
问题:
进入页面时,onMounted钩子设置default-expanded-keys的初值(使用ref绑定动态修改)。点击展开时修改绑定的变量,树能实现展开效果。
但是点击收起,修改绑定的变量,变量变了,树没变。
解决方法:
在el-tree上添加v-if控制渲染,点击收起时把树销毁(v-if绑定的变量设为false),再修改default-expanded-keys绑定的ref变量的值,再nextTick把树重新渲染(v-if绑定的变量设为true)。
*先记录一下,代码细节有空再补……搞了一下午