el-dropdown-menu指令事件的使用方法

2023-10-26

el-dropdown-menu(Dropdown 下拉菜单)中command指令事件的使用

官网的使用方法:点击菜单项后会触发事件,用户可以通过相应的菜单项 key 进行不同的操作。

Dropdown 下拉菜单 | Element Plus (gitee.io)

<template>
  <el-dropdown @command="handleCommand">
    <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 command="a">Action 1</el-dropdown-item>
        <el-dropdown-item command="b">Action 2</el-dropdown-item>
        <el-dropdown-item command="c">Action 3</el-dropdown-item>
        <el-dropdown-item command="d" disabled>Action 4</el-dropdown-item>
        <el-dropdown-item command="e" divided>Action 5</el-dropdown-item>
      </el-dropdown-menu>
    </template>
  </el-dropdown>
</template>

<script lang="ts" setup>
import { ElMessage } from 'element-plus'
import { ArrowDown } from '@element-plus/icons-vue'

const handleCommand = (command: string | number | object) => {
  ElMessage(`click on item ${command}`)
}
</script>
<style scoped>
.example-showcase .el-dropdown-link {
  cursor: pointer;
  color: var(--el-color-primary);
  display: flex;
  align-items: center;
}
</style>

结合el-table使用,将表格的某一样数据传入到command指令中

集合el-table使用,将表格的某一行数据通过点击对应的按钮传入到对应的指令事件中,使@command可以传两个参数,一个是command指令,一个是表格当前行的数据

<template>
  <div>
    <el-table :data="tableData">
      <el-table-column prop="name" label="姓名" />
      <el-table-column prop="age" label="年龄" />
      <el-table-column width="225" label="操作">
        <template #default="scope">
          <el-button size="small" type="primary" plain @click="handleEdit(scope.row.id)">修改</el-button>
          <el-button size="small" type="danger" plain @click="handleDelete(scope.row.id)">删除</el-button>
          <!-- 这里相当于,是使用官方的方法,得到一个函数,返回一个函数,包含command和scope.row的参数 -->
          <el-dropdown style="margin-left: 15px"
            @command="(command: string | number | object) => handleCommand(command, scope.row)">
            <el-button size="small" type="primary" plain>》更多</el-button>
            <template #dropdown>
              <el-dropdown-menu>
                <el-dropdown-item command="handleMenuList">分配权限</el-dropdown-item>
              </el-dropdown-menu>
            </template>
          </el-dropdown>
        </template>
      </el-table-column>
    </el-table>
  </div>
</template>

<script setup lang="ts">
import { ref } from 'vue';

const tableData = ref([
  {
    id: 1,
    name: '张三',
    age: 23
  }, 
  {
    id: 2,
    name: '李四',
    age: 24
  },
  {
    id: 3,
    name: '王五',
    age: 23
  }
])

const handleCommand = (command: string | number | object, row: any) => {
  console.log("command的命令是")
  console.log(command)
  console.log("===============================")
  if (command === 'handleMenuList') {
    console.log(command)
  }
  console.log("==========================")
  console.log("表格传入的一行数据是")
  console.log(row)
}

const handleEdit = (id: any) => {
  console.log(id)
}

const handleDelete = (id: any) => {
  console.log(id)
}

</script>

<style scoped></style>

表格界面如下所示:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

由于Dropdown 下拉菜单中下拉选项Action 1中的command可以传(command: string | number | object)多种类型的数据,所以这里试着传object类型的数据

<template>
  <div>
    <el-table :data="tableData">
      <el-table-column prop="name" label="姓名" />
      <el-table-column prop="age" label="年龄" />
      <el-table-column width="225" label="操作">
        <template #default="scope">
          <el-button size="small" type="primary" plain @click="handleEdit(scope.row.id)">修改</el-button>
          <el-button size="small" type="danger" plain @click="handleDelete(scope.row.id)">删除</el-button>
          <!-- 这里相当于,是使用官方的方法,得到一个函数,返回一个函数,包含command和scope.row的参数 -->
          <el-dropdown style="margin-left: 15px"
            @command="(command: string | number | object) => handleCommand(command, scope.row)">
            <el-button size="small" type="primary" plain>》更多</el-button>
            <template #dropdown>
              <el-dropdown-menu>
                <!-- 记得加冒号: -->
                <!-- <el-dropdown-item :command="{nmae: 'aaa', age: 24}" >分配权限</el-dropdown-item> -->
                <el-dropdown-item :command="item" v-for="item in dropdownItemList" :key="item.menuId">{{ item.menuName }}</el-dropdown-item>
              </el-dropdown-menu>
            </template>
          </el-dropdown>
        </template>
      </el-table-column>
    </el-table>
  </div>
</template>

<script setup lang="ts">
import { ref } from 'vue';

const tableData = ref([
  {
    id: 1,
    name: '张三',
    age: 23
  }, 
  {
    id: 2,
    name: '李四',
    age: 24
  },
  {
    id: 3,
    name: '王五',
    age: 23
  }
])

const dropdownItemList = ref([
  {
    menuId: 555,
    menuName: "下拉菜单11111111",
    path: '路径1111111'
  },
  {
    menuId: 6666,
    menuName: "下拉菜单22222222",
    path: '路径1'
  },
  {
    menuId: 7777,
    menuName: "下拉菜单333333",
    path: '路径3333333'
  },{
    menuId: 8888,
    menuName: "下拉菜单4444",
    path: '路径4444444'
  }

])

const handleCommand = (command: string | number | object, row: any) => {
 console.log("command的数据是:")
 console.log(command)
 console.log("表格传入的行数据是:")
 console.log(row)
}

const handleEdit = (id: any) => {
  console.log(id)
}

const handleDelete = (id: any) => {
  console.log(id)
}

</script>

<style scoped></style>

在这里插入图片描述
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

el-dropdown-menu指令事件的使用方法 的相关文章

随机推荐

  • TiDB关键字、保留字和注释语法

    关键字和保留字 关键字在 SQL 中有特殊的意义 例如 SELECT UPDATE DELETE 在作为表名跟函数名的时候 需要特殊对待 例如作为表名 保留字需要被反引号包住 CREATE TABLE select a INT ERROR
  • 微信公众号配置token

    1 在微信公众平台开发 基本设置页面 点击 修改配置 按钮 填写服务器地址 URL Token和EncodingAESKey token可以任意填写 对应验证的token URL对应是可以访问到 验证token的方法 的链接 2 代码中进行
  • F1-score与 F值(F-Measure)

    F1 score 综合评估分类模型 取值0 1之间 F1 score综合考虑Precision和Recall 是P和R加权调和平均 当精确率和召回率都高时 F1 score也会高 化简得到 如果类别为多类 则F1 score 求均值 或进行
  • Dynamics CRM 2015 Update 0.1 - Error.ActionFailed Microsoft.Crm.Tools.Admin.InstallDatabaseUpdatesAc

    安装最新的Update 0 1 CRM2015 Server KB3010990 ENU amd64 之后 发生数据库无法更新的问题 重新访问CRM之后可以看到服务器已经被更新到7 0 1但数据库仍然停留在7 0 0 错误日志如下 Micr
  • Python

    目录 系列目录 原项目地址 8 常用数据结构之列表 列表的运算符 补充 切片及索引介绍 索引的一般方式 切片操作的基本表达式 object start end step 切片操作的 详细切法 列表的比较运算 列表元素的遍历 方法一 方法二
  • 不开心的小朋友

    华为23年7月od笔试题第三题 不开心的小朋友 题目已忘记 但大题意思是 输入一个数代表摇摇车的数量 在下一行输入一串数字 用空格隔开 每个数字代表不同的小朋友的编号 小朋友的编号不能重复 每个小朋友只有一个编号 小朋友排队坐摇摇车 如果小
  • 大管家前端线上笔试

    1 盒子模型 盒子模型 我们把网页中的各个部分都看成一个盒子 盒子由外到内包括外边距 margin 边框 border 内边距 padding 内容 content 两种盒子模型 标准盒子模型 默认盒子模型 width boder padd
  • 【Python技巧】正则表达式:(?:)匹配多个字符串之一;(非获取匹配)

    当需要匹配多个字符串其中之一时 如 匹配 你 我 她 他 四个字符串之一时 使用非元组捕获语 exp 例子 import re content2 我市政协 我爱协商 新平台建设工作的加强与落实 搭建 协商在民主 新模式 推进 协商朋友圈 协
  • 【第3篇】GooLeNet——Inception结构的开创者

    文章目录 摘要 1 引言 2 近期工作 3 动机和高层思考 4 架构细节 5 GoogLeNet 6 训练方法 7 ILSVRC 2014分类挑战赛设置和结果 8 ILSVRC 2014检测挑战赛设置和结果 9 总结 摘要 我们在Image
  • 5.Linux删除文件和目录

    在 Linux 中 可以使用 rm 命令来删除文件和目录 文件夹 下面是一些常见的删除操作及其示例 删除单个文件 使用 rm 命令加上要删除的文件名称即可 rm filename 删除名为 filename 的文件 删除多个文件 可以同时删
  • Maven中DependencyManagement和Dependencies区别

    Maven使用DependencyManagement元素来管理依赖版本号 通常会在一个组织或者项目的最顶层的父POM中看到DependencyManagement元素 使用pom xml文件中的DependencyManagement元素
  • python向列表添加元素的三种方法append()、extend() 和 insert()

    向列表增加元素的三种方法 只能处理list 1 append append 方法是将参数作为一个元素增加到列表的末尾 只接受一个参数 参数可以是任何数据类型 被追加的元素在List中保持着原结构类型 a 1 2 3 a append 4 b
  • c++ 读写标记

    r 打开只读文件 该文件必须存在 r 打开可读写的文件 该文件必须存在 rb 读写打开一个二进制文件 只允许读写数据 rt 读写打开一个文本文件 允许读和写 w 打开只写文件 若文件存在则文件长度清为0 即该文件内容会消失 若文件不存在则建
  • 车辆信息检测数据集收集汇总

    车辆信息检测数据集收集汇总 1 UA DETRAC 2 车牌数据集 3 自动驾驶数据集 4 车辆类型数据集 5 综合汽车 CompCars 数据集 6 汽车数据集 检测用 7 OpenData V11 0 车辆重识别数据集 VRID 8 S
  • 全国市场监管公共服务平台返回体相关加密

    链接 aHR0cDovL2p6c2MubW9odXJkLmdvdi5jbi9kYXRhL2NvbXBhbnk 抓包 95780ba0943730051dccb5fe3918f9fe1b6f2130681f99d5620c5497aa480f
  • Maven工程控制台输出中文乱码

    在pom xml的properties标签下加入如下元素即可解决
  • kubectl 插件推荐: kubectl-watch

    作者 imuxin 灵雀云后端工程师 kubectl watch 一个可以监听 kubernetes 资源的变更信息的 kubectl 插件 其中变更的内容通过使用 delta 1 或 difftastic 2 工具提供漂亮的终端界面展示
  • Python的函数、模块、包和库

    本文比较了Python中容易混淆的几个概念 分清它们之间的包含关系 即 函数 lt 模块 lt 包 lt 库 1 函数 function 理解为数学上的函数即可 下载安装完python后 并不是所有的函数都能直接使用的 不在同一文件时需要使
  • 快速开始 PieCloudDB Database:管控平台权限系统

    1 前言 在 快速开始 PieCloudDB 中 我们了解了如何在 PieCloudDB Database 创建账号 进行数据上传 查询和邀请用户 本文承接 快速开始 PieCloudDB 将对管控平台如权限管理 外部接入等进阶操作通过实例
  • el-dropdown-menu指令事件的使用方法

    el dropdown menu Dropdown 下拉菜单 中command指令事件的使用 官网的使用方法 点击菜单项后会触发事件 用户可以通过相应的菜单项 key 进行不同的操作 Dropdown 下拉菜单 Element Plus g