elemenui puls el-menu default-active不更新问题

有时候我们的目录结构会重新刷新,但是default-active始终保持原来的下标

1.一开始我以为是我给定的属性或者值不对,后来经过一番排查发现根本不是

那我们该如何解决那?

方案1.

通过nextTick去重新赋值

方案2.

重写赋值menu

方案3.

v2和v3都可以通过$forceUpdate

方案4.

这种方式更劲爆直接绑定v-if重新去渲染

方案5.

这种方式更容易被忽略,很多人以为:default-active="index"就不用在绑定数据了这恰恰相反,我们还要在@select="handleOpen"去赋值这样下次我们改变default-active的时候下标才会生效,这也是往往会被遗漏的
<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
}

你可能感兴趣的:(vue,elementui)