美文网首页
Vue.js+Element-UI实现点击按钮控制左侧菜单折叠与

Vue.js+Element-UI实现点击按钮控制左侧菜单折叠与

作者: 南湘嘉荣 | 来源:发表于2021-05-09 21:47 被阅读0次

在element-ui中采用NavMenu导航菜单作为系统菜单的实现。

官方文档中NavMenu导航菜单有一个Menu Attributes属性collapse,是一个 bollean 类型,用于控制是否水平折叠菜单。

我们可以通过设置collapse属性的值为 true 或 false 来控制菜单的折叠与展开。

解决方案

1.实现一个按钮,

<div class="toggle-button" @click="toggleCollapse">|||</div>

2.在data中定义一个数据collapse

data() {
            return {
                isCollapse: false
            }
        }

3.实现方法toggleCollapse

methods: {
            toggleCollapse () {
                this.isCollapse = !this.isCollapse
            }
}

4.在el-menu中动态绑定属性值collapse

<el-menu :collapse="isCollapse"></el-menu>

问题:在左侧菜单的展开与折叠中,文本和图标折叠了,但是菜单的长度并没有折叠,发现原因是菜单的长度给了一个固定的值,而实际上我们需要动态给定长度。如果菜单是展开的,长度是等于文本的长度+图标的长度。如果菜单是折叠的,长度是等于图标的长度。我们可以根据isCollapse的值进行判断,通过它的值为true或者是false,来给定不同的长度:

<el-menu :width="isCollapse?'64px':'200px'"  :collapse="isCollapse"></el-menu>

相关文章

网友评论

      本文标题:Vue.js+Element-UI实现点击按钮控制左侧菜单折叠与

      本文链接:https://www.haomeiwen.com/subject/lfmvdltx.html