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指令事件的使用方法 的相关文章

  • 使用 获取用于 javascript 的 RSA 密钥?

    我的 Web 项目需要一个 RSA 密钥对 虽然有一些库 但我认为依靠浏览器 为了安全性和速度 为我生成密钥是个好主意 是否可以使用注册机或其他浏览器 API 来执行此操作 我不知道如何从注册机获取密钥 它们似乎是在提交时生成的 但我不想将
  • Webpack 缺少 CommonsChunk 和 extract-text-webpack-plugin 模块

    我正在跟进Maxime Fabre 的 Webpack 教程 https blog madewithlove be post webpack your bags 我正在尝试获得一个非常简单的 webpack 包 其中包含 1 个入口点和 2
  • 拖放区缩略图宽度图像大小

    如何更改上传图像的缩略图大小 我在我的javascript中尝试过thumbnailWidth 350 但是这不会增加缩略图大小 而缩略图只是看起来放大了 如何操作图像缩略图大小 HTML section section
  • 如果浏览器在 asp .net 中关闭,请从浏览器中注销?

    我的要求有点复杂 用户正在使用 Web 浏览器访问数据库 而在访问数据库时 如果用户关闭活动页面而不是注销会话 该会话需要自动注销 有人可以指导我如何做这个吗 我在母版页中使用了jquery onbeforeunload 我收到消息离开页面
  • Google Charts(AreaChart)如何检测缩放变化

    我正在画一个面积图 在覆盖层上有一些标记 我正在使用explorer选项 仅限水平 以便用户放大和缩小 问题是我找不到一种方法来通知缩放更改 以便有机会更新制造商位置 有一个图表范围变化事件 但它不是由 AreaChart 触发的 我尝试检
  • 动态表中每个按钮的 Jquery-Ui 对话框表单

    我正在生成一个 HTML 表 每行都有一个按钮 必须打开 Jquery ui 对话框表单 The table table class table table reporting table condensed table striped t
  • 如何为 HTML5 音频元素制作加载栏?

    我正在尝试为 HTML5 音频元素制作一个加载栏 显示加载 缓冲的百分比 对于视频标签 可以使用以下方法进行计算 video buffered end 0 video duration 但我无法让它与音频标签一起使用 它只是返回一个固定值
  • 如何在提交表单之前删除自动数字格式?

    我正在使用 jQuery 插件自动数字 http www decorplanit com plugin 但是当我提交表单时 我无法删除之前字段上的格式POST 我尝试使用 input autonumeric destroy 和其他方法 但它
  • 在 JavaScript 中定位提示弹出窗口

    我有一个如下所示的 JavaScript 提示 我想将提示放在屏幕中心 如何使用 javascript 做到这一点 function showUpdate var x var name prompt Please enter your na
  • 单击输入字段会触发窗口调整大小

    我有一个带有徽标 菜单和搜索的标题 当我在桌面上时 我会按该顺序显示所有元素 但如果我的窗口宽度小于 980 像素 菜单会隐藏 有一个切换按钮 并且徽标会与nav并附在徽标之后 如果宽度更大 则徽标将再次分离并附加到 DOM 中的旧位置 w
  • canvas.getContext('2D') 返回空值

    我创建了一个画布并将其命名为getContext 方法 但它返回null为上下文 这是我使用的代码 我在控制台中得到了这个
  • 无法在渲染器进程中使用 Node.js API

    无法在 Electron 中使用任何与 Electron 或节点相关的操作 未定义获取错误过程 我检查了他们指导添加节点支持的各个地方 但这已经完成了 所以卡在这里 我的主要应用程序代码是 const electron require el
  • 在 jQuery AJAX 成功中从 MySql 获取特定响应

    好吧 我有这个 ajax 代码 它将在 Success 块中返回 MySql 的结果 ajax type POST url index php success function data alert data My Query sql SE
  • vue js中的process.env.BASE_URL是什么?

    当我使用 vue cli 安装 vue 时手动选择预设 我偶然发现了 process env BASE URL 我试图在互联网上找到它 但无济于事 我找不到任何像样的解释 这是代码 const router new VueRouter mo
  • ReferenceError 和全局对象

    在浏览器中的 JavaScript 中window是全局对象 这意味着在全局范围内定义的每个变量都是window 那么为什么我会得到这个结果 console log window foo No error logs undefined co
  • 如何生成 JavaScript 堆栈跟踪? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 关于如何以跨浏览器的方式在 javascript 中生成堆栈跟踪有什么建议吗 较新的浏览器 Chrome 和 Firefox 公开了一个允
  • `ie9` - contenteditable false 在父级可编辑时不起作用

    我正在尝试制作内容可编辑和不可编辑的容器 用户可以通过 3 种方式使用它 他们可以将内容与non editable 他们可以将内容与editable 他们可以在不选择其中之一的情况下放置内容 可编辑 我正在努力实现以下目标 content
  • JavaScript 中最长的通用前缀

    我正在尝试解决 Leet Code 挑战14 最长公共前缀 https leetcode com problems longest common prefix 编写一个函数来查找字符串数组中最长的公共前缀字符串 如果没有公共前缀 则返回空字
  • 数字和小数的输入掩码

    在测试我的程序后 我发现了以下错误 我在 sqlserver 中的表包含 价格数字 6 2 我的程序的用户输入价格 555 00 就很好了 但是当他输入 555555 时 这是错误的 所以我需要指定掩码 其中尾数是可选的 0 到 999 小
  • 使用 JavaScript onclick 添加表格行

    我正在尝试使用 javascript 添加下面找到的完全相同的元素 我已经尝试了这里找到的所有解决方案 我什至尝试用php echo但没有运气 无需更改任何输入名称或类似内容 只需单击该按钮即可向表中添加另一行 仅此而已 这是该元素 tr

随机推荐

  • 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