有时候我们的目录结构会重新刷新,但是default-active始终保持原来的下标
1.一开始我以为是我给定的属性或者值不对,后来经过一番排查发现根本不是
那我们该如何解决那?
方案1.
javascript
通过nextTick去重新赋值
方案2.
javascript
重写赋值menu
方案3.
javascript
v2和v3都可以通过$forceUpdate
方案4.
javascript
这种方式更劲爆直接绑定v-if重新去渲染
方案5.
javascript
这种方式更容易被忽略,很多人以为:default-active="index"就不用在绑定数据了这恰恰相反,我们还要在@select="handleOpen"去赋值这样下次我们改变default-active的时候下标才会生效,这也是往往会被遗漏的
javascript
<el-menu active-text-color="#3293f5" background-color="#ffffff" class="el-menu-vertical-demo box-menu"
:default-active="selectindex" text-color="#000" @select="handleOpen" :default-openeds="openeds">
<el-sub-menu v-for="(item, index) in menu" :key="index">
<el-menu-item v-for="(litem, lindex) in item.children" :key="lindex" :index="litem.index">
<p class="submenu_item">{{ litem.name }}</p>
</el-menu-item>
<!-- <el-sub-menu index="1-4">
<template #title>item four</template>
<el-menu-item index="1-4-1">item one</el-menu-item>
</el-sub-menu> -->
</el-sub-menu>
</el-menu>
//触发选中事件
function handleOpen(params) {
selectindex.value=params
}