Vue3中使用element-plus菜单折叠后文字不消失

今天使用element-plus中国的导航菜单时,发现菜单栏折叠起来时文字不会自动消失,因为element-plus中内置了菜单折叠文字自动消失的,使用collapse=true/false即可,但在实际使用中出现了一下问题:

折叠以后文字并没有消失,查资料说是el-menu子标签中不能含有div,但是排查了后也没有使用div,最后发现是因为我的一级导航没有包裹到标签中,因为是直接使用了一个简易的非折叠导航栏,折叠是后边加上去的,所以忽略了这个问题。这一部分写在了标签外面。

使用span包裹一下就好了

### 使用 Element PlusVue 3 中实现折叠面板 #### 属性 (Props) - `modelValue` 或者 `v-model`: 绑定值,表示当前激活的面板名称或索引。支持双向数据绑定[^1]。 - `accordion`: 布尔型属性,设置为 true 则每次只打开一个面板。 ```html <template> <el-collapse v-model="activeNames"> <!-- 面板项 --> </el-collapse> </template> <script setup> import { ref } from &#39;vue&#39;; let activeNames = ref([&#39;1&#39;]); </script> ``` #### 事件 (Events) - `update:modelValue`: 当前选中的面板发生变化时触发此事件,参数为新的模型值。 ```javascript // 处理change事件的例子 const handleChange = (val) => { console.log(val); }; ``` ```html <el-collapse v-model="activeNames" @update:model-value="handleChange"> ... </el-collapse> ``` #### 方法调用 由于大多数情况下需要直接操作组件实例的方法,在官方文档中并未特别提及可访问的具体方法。如果确实有需求,则可以通过 `$refs` 获取组件实例并尝试调用其公开的方法。 #### 完整示例代码 下面是一个完整的例子来展示如何创建带有两个面板的折叠区域: ```html <template> <div id="app"> <el-collapse v-model="activeNames" @update:model-value="handleChange"> <el-collapse-item title="一致性 Consistency" name="1"> <div>与现实生活一致:与现实生活的流程、逻辑保持一致。</div> </el-collapse-item> <el-collapse-item title="反馈 Feedback" name="2"> <div>控制反馈:通过界面样式和交互动效让用户可以清晰感知自己的操作结果。</div> </el-collapse-item> </el-collapse> </div> </template> <script setup> import { ref } from &#39;vue&#39;; let activeNames = ref([&#39;1&#39;]); const handleChange = (val) => { console.log(`activated names:${JSON.stringify(val)}`); }; </script> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

浮生若梦777

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值