You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Element-Plus中el-dropdown组件无法正常渲染功能菜单求助

Element-Plus el-dropdown无法正常渲染的故障原因及解决办法

核心故障原因

  • slot语法不兼容:你代码中使用的slot="dropdown"是Vue2的旧插槽语法,而Element-Plus基于Vue3开发,Vue3已废弃这种写法,必须使用v-slot语法(#是简写形式)来指定插槽。旧写法会导致下拉菜单的内容无法被组件正确识别,因此Elements面板中找不到el-dropdown-item,最终无法渲染出正常的下拉菜单结构。

修正后的代码

<template>
  <div>
    <el-dropdown>
      <span class="el-dropdown-link">
        Menu<i class="el-icon-arrow-down el-icon--right"></i>
      </span>
      <!-- 使用Vue3的v-slot简写语法指定dropdown插槽 -->
      <template #dropdown>
        <el-dropdown-menu>
          <el-dropdown-item>黄金糕</el-dropdown-item>
          <el-dropdown-item>狮子头</el-dropdown-item>
          <el-dropdown-item>螺蛳粉</el-dropdown-item>
          <el-dropdown-item disabled>双皮奶</el-dropdown-item>
          <el-dropdown-item divided>蚵仔煎</el-dropdown-item>
        </el-dropdown-menu>
      </template>
    </el-dropdown>
  </div>
</template>

额外检查点

如果修正语法后仍有问题,需确认组件是否正确导入:

  • 全局注册(main.ts):
    import { createApp } from 'vue'
    import ElementPlus from 'element-plus'
    import 'element-plus/dist/index.css'
    import App from './App.vue'
    
    const app = createApp(App)
    app.use(ElementPlus)
    app.mount('#app')
    
  • 按需导入:若使用按需引入,需确保手动导入对应组件及样式,或配合unplugin-vue-components插件自动导入:
    <script setup>
    import { ElDropdown, ElDropdownMenu, ElDropdownItem } from 'element-plus'
    import 'element-plus/es/components/dropdown/style/css'
    import 'element-plus/es/components/dropdown-menu/style/css'
    import 'element-plus/es/components/dropdown-item/style/css'
    // 图标组件也需导入或全局注册
    import { ArrowDown } from '@element-plus/icons-vue'
    </script>
    

内容的提问来源于stack exchange,提问作者sheep

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 15:12:07