页面长这样
(图一)
(图二)
点击一级目录中的导航后,会动态更新二级目录中的数据
这个是问题
点击一级目录后,二级目录数据已更新,但高亮状态消失(如:图二),需要重新刷新页面后才会显示
解决思路在这
经检查route.path是正确的,二级目录数据也是正确的;
所以把问题定位到dom加载及渲染顺序上
个人想法:既然数据都是正确的,很有可能就是因为dom还未更新完成,就重新设置了default-active属性,导致匹配不到相应的导航
解决方法来了
给二级目录设置v-if
<el-menu v-if="showDom" router :default-active="$route.path"></el-menu>
watch监听父组件传递过来的数据,在dom更新完成之后改变v-if
let showDom = ref(true);
watch(
() => props.menuChildrens,
() => {
showDom.value = false;
// 在dom更新之后进行渲染
nextTick().then(function () {
showDom.value = true;
});
}
);
如有问题,请联系作者,及时纠正
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。