<el-table>
<el-table-column label="操作" align="center" fixed="right">
<template slot-scope="scope">
<el-button type="text" size="small">详情</el-button>
<el-button type="text" size="small">编辑</el-button>
<el-dropdown @command="handleCommand">
<el-button type="text" size="small">
更多操作<i class="el-icon-arrow-down el-icon--right" />
</el-button>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item
v-for="(item, index) in opBtns"
:key="index"
:command="{ command: item.value, fn: item.fn, row: scope.row }"
:disabled="item.disabled"
:divided="item.divided">{{ item.text }}</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</template>
</el-table-column>
</el-table>
opBtns: [
{
value: 'v1',
text: '操作1',
fn: 'fn1'
},
{
value: 'v2',
text: '操作2',
fn: 'fn2'
},
{
value: 'v3',
text: '操作3',
disabled: true
},
{
value: 'v4',
text: '操作4',
fn: 'fn4',
divided: true
},
{
value: 'v5',
text: '操作5',
fn: 'fn5'
}
]
handleCommand(commandObj) { // 点击菜单项触发的事件回调
const { command, fn, row } = commandObj
if (fn) {
const method = this.$options.methods[fn] // 获取对应操作函数
method && method.call(this, row) // 执行对应的操作函数
}
},
参考: