vue3中element-plus下拉菜单与图标的使用

更多ruoyi-nbcio功能请看演示系统

gitee源代码地址

前后端代码: https://gitee.com/nbacheng/ruoyi-nbcio

演示地址:RuoYi-Nbcio后台管理系统 http://218.75.87.38:9666/

更多nbcio-boot功能请看演示系统

gitee源代码地址

后端代码: https://gitee.com/nbacheng/nbcio-boot

前端代码:https://gitee.com/nbacheng/nbcio-vue.git

在线演示(包括H5) : http://218.75.87.38:9888

1、el-dropdown和el-dropdown-menu的使用

这个要注意,跟原先vue2版本的不一样了,所以需要根据新的vue3做调整

类似官方的提供的

javascript 复制代码
<el-dropdown>
    <span class="el-dropdown-link">
      Dropdown List
      <el-icon class="el-icon--right">
        <arrow-down />
      </el-icon>
    </span>
    <template #dropdown>
      <el-dropdown-menu>
        <el-dropdown-item>Action 1</el-dropdown-item>
        <el-dropdown-item>Action 2</el-dropdown-item>
        <el-dropdown-item>Action 3</el-dropdown-item>
        <el-dropdown-item disabled>Action 4</el-dropdown-item>
        <el-dropdown-item divided>Action 5</el-dropdown-item>
      </el-dropdown-menu>
    </template>
  </el-dropdown>

样式如下:

2、图标的使用,因为element-plus的与原先vue2也有区别,所以需要根据官方的来

可以根据官方的icon来拷贝它的代码

如:<el-icon><CopyDocument /></el-icon> ,当然可以在el-dropdown-item或el-button里用icon属性来赋值,比如下面的实际例子使用的方式

3、具体的一个例子代码如下:

javascript 复制代码
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
          <template #default="scope">
            <el-dropdown>
              <span class="el-dropdown-link">
                更多操作<i class="el-icon-arrow-down el-icon--right"></i>
                <el-icon class="el-icon--right">
                    <arrow-down />
                </el-icon>
              </span>
              <template #dropdown>
                <el-dropdown-menu>
                  <el-dropdown-item icon="el-icon-edit" @click.native="handleLoadXml(scope.row)">
                    编辑
                  </el-dropdown-item>
                 <el-dropdown-item icon="el-icon-edit" @click.native="handleAddForm(scope.row)" 
                   v-if="scope.row.formId == null && scope.row.appType == 'OA'">
                  配置表单
                 </el-dropdown-item>
                 <el-dropdown-item icon="el-icon-edit" @click.native="handleAddOnlineForm(scope.row)"
                   v-if="scope.row.formId == null && (scope.row.appType == 'ONLINE')">
                  配置online表单
                 </el-dropdown-item>
                 <el-dropdown-item icon="CopyDocument" @click.native="SubmitApplication(scope.row)" 
                   v-if="(scope.row.formId != null && scope.row.appType == 'OA' )   
                    || (scope.row.formId != null && scope.row.appType == 'ONLINE')">
                  发起申请
                 </el-dropdown-item>
                  <el-dropdown-item icon="VideoPause" @click.native="handleUpdateSuspensionState(scope.row)"
                    v-if="scope.row.suspensionState === 1">
                    挂起
                  </el-dropdown-item>
                  <el-dropdown-item icon="VideoPlay" @click.native="handleUpdateSuspensionState(scope.row)"
                    v-if="scope.row.suspensionState === 2">
                    激活
                  </el-dropdown-item>
                  <el-dropdown-item icon="el-icon-delete" @click.native="handleDelete(scope.row)">
                    删除
                  </el-dropdown-item>
                </el-dropdown-menu>
              </template>
            </el-dropdown>
          </template>
        </el-table-column>

4、效果图如下:

相关推荐
一点七加一25 分钟前
Harmony鸿蒙开发0基础入门到精通Day09--JavaScript篇
开发语言·javascript·ecmascript
_安晓27 分钟前
Rust 中精确大小迭代器(ExactSizeIterator)的深度解析与实践
java·前端·python
烛阴28 分钟前
从create到yield:Lua协程完全上手指南
前端·lua
薛一半1 小时前
Vue3的Pinia详解
前端·javascript·vue.js
浅影歌年2 小时前
vue3模块中引用公共css变量文件
前端
盼哥PyAI实验室3 小时前
从搭建到打磨:我的纯前端个人博客开发复盘
前端·javascript
前端初见3 小时前
2025前端面试题大合集
前端
用户904706683573 小时前
vue3.5新特性——useTemplateRef
前端
嘉琪0013 小时前
vue3+ts面试题(一)JSX,SFC
前端·javascript·react.js
何贤3 小时前
🪐 行星科技概念官网!Hero Section 回归!(Three.js ✨)
前端·javascript·three.js