1、data自定义数据
```javascript
data() {
return {
dropdownList: [
{
label: "查看", // 菜单操作名称
disabled: false, // 是否禁用
icon: "el-icon-search", // 菜单图标
handerClick: "lookFn", // 点击事件函数名,对应操作的函数名
},
{
label: "编辑",
disabled: false,
icon: "el-icon-edit",
handerClick: "editFn",
},
{
label: "删除",
disabled: true,
icon: "el-icon-document-delete",
handerClick: "deletedFn",
},
],
};
},
2、html代码
<el-table-column label="操作" align="center" width="150" class-name="operate">
<template slot-scope="{ row }">
<!-- <el-dropdown @command="(command) => handleCommand(command, row)"> -->
<el-dropdown @command="handleCommand($event, row)">
<el-button type="text"> 操作<i class="el-icon-arrow-down el-icon--right"></i> </el-button>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item v-for="(item, index) in dropdownList" :key="index" :disabled="item.disabled" :icon="item.icon" :command="item.handerClick">{
{
item.label }} </el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</template>
</el-table-column>
3、methods 下拉菜单对应的事件方法
methods:{
handleCommand(event, item) {
console.log(event, item);
this[event](item.id);
},
handleCommand(command,row) {
switch (command) {
case "lookFn":
this.lookFn(row.id)
break;
case "editFn":
this.editFn(row.id);
break;
case "deletedFn":
this.deletedFn(row.id);
}
},
lookFn(id) {
console.log('查看操作', id);
},
editFn(id) {
console.log('编辑操作', id);
},
deletedFn(id) {
console.log('删除操作', id);
},
}