记Vue3在table使用dropdown的写法

简介: 记Vue3在table使用dropdown的写法

需求分析

table表格 的每一行中增加操作列,但是操作选项比较多,

  • 如果直接展示出来,会占用较大的空间
  • 如果将操作选项换成小图标的话,对于用户操作来说并不是很清晰

所以目前解决方案是 将这些操作选项收到一个 dropdown下拉菜单 中。

dropdown下拉菜单 官方文档 https://element.eleme.cn/2.3/#/zh-CN/component/dropdown 并未介绍在 table表格 中的用法,
下面记录实现片段。

代码实现

<el-table-column prop="" label="操作" width="100">
    <template #default="scope">
    <el-dropdown @mouseenter.stop @command="(cmd) => handleCommand(cmd, scope.row)" :row="scope.row">
        <el-button type="primary">
            操作<i class="el-icon-more-outline"></i>
        </el-button>

        <template #dropdown>
        <el-dropdown-menu v-slot="dropdown">
            <el-dropdown-item command="oneFunc">操作1</el-dropdown-item>
            <el-dropdown-item command="twoFunc">操作2</el-dropdown-item>
            <el-dropdown-item command="threeFunc">操作3</el-dropdown-item>
        </el-dropdown-menu>
        </template>
    </el-dropdown>
    </template>
</el-table-column>



<script setup>
const handleCommand = async(command, row) => {
   
  switch(command){
   
    case "oneFunc":
      oneFunc(row);
      break;
    case "twoFunc":
      twoFunc(row);
      break;
    case "threeFunc":
      threeFunc(row);
      break;
    default:
      break;
  }
}

const oneFunc = async(row) => {
   
    // do oneFunc
}
const twoFunc = async(row) => {
   
    // do twoFunc
}
const threeFunc = async(row) => {
   
    // do threeFunc
}

</script>
目录
相关文章
|
9天前
vue3【实战】语义化首页布局
vue3【实战】语义化首页布局
28 2
|
9天前
|
存储 容器
vue3【实战】来回拖拽放置图片
vue3【实战】来回拖拽放置图片
19 2
|
9天前
|
JavaScript 开发工具 开发者
vue3【提效】使用 VueUse 高效开发(工具库 @vueuse/core + 新增的组件库 @vueuse/components)
vue3【提效】使用 VueUse 高效开发(工具库 @vueuse/core + 新增的组件库 @vueuse/components)
32 1
|
9天前
|
API
Pinia 实用教程【Vue3 状态管理】状态持久化 pinia-plugin-persistedstate,异步Action,storeToRefs(),修改State的 $patch,$reset
Pinia 实用教程【Vue3 状态管理】状态持久化 pinia-plugin-persistedstate,异步Action,storeToRefs(),修改State的 $patch,$reset
19 1
|
9天前
|
JavaScript
vue3 【提效】自动注册组件 unplugin-vue-components 实用教程
vue3 【提效】自动注册组件 unplugin-vue-components 实用教程
17 1
|
9天前
|
JavaScript API
vue3【实用教程】组件(含父子组件传值 defineProps,自定义事件 defineEmits,defineProps,插槽 slot,动态组件 :is 等)
vue3【实用教程】组件(含父子组件传值 defineProps,自定义事件 defineEmits,defineProps,插槽 slot,动态组件 :is 等)
17 1
|
9天前
|
JavaScript 网络架构
vue3 【提效】自动路由(含自定义路由) unplugin-vue-router 实用教程
vue3 【提效】自动路由(含自定义路由) unplugin-vue-router 实用教程
48 0
vue3 【提效】自动路由(含自定义路由) unplugin-vue-router 实用教程
|
4天前
【vue3】Argumnt of type ‘history:RouterHistory;}is not assignable to paraeter of type ‘RouterOptions‘.
【vue3】Argumnt of type ‘history:RouterHistory;}is not assignable to paraeter of type ‘RouterOptions‘.
6 0
|
4天前
|
JavaScript
【vue3】vue3中路由hash与History的设置
【vue3】vue3中路由hash与History的设置
9 0
|
4天前
|
编解码 前端开发
【Vue3】解决电脑分辨率125%、150%及缩放导致页面变形的问题
【Vue3】解决电脑分辨率125%、150%及缩放导致页面变形的问题
11 0