在 Element Plus 中,Dropdown 组件的 command 属性只接受一个参数,如果需要传递多个参数,可以考虑将这些参数合并成一个对象,然后将对象作为 command 的参数传递。
例如:下面是我在“用户管理”页面的table表格中的最后一列,加入了操作选项,在操作选项中,由于按钮较多,所以采用“更多”的下拉菜单方式来展示。
<el-table-column fixed="right" min-width="200" label="操作" align="center">
<template #default="scope">
<div class="flex items-center">
<!-- 编辑 -->
<el-button class="btn-ml-0" size="small" type="primary" text @click="rowUpdateUserBtnClick(scope.row)">
<el-icon><EditPen /></el-icon>
<span>编辑</span>
</el-button>
<!-- 删除 -->
<el-button class="btn-ml-0" size="small" type="danger" text @click="rowDeleteUserBtnClick(scope.row)">
<el-icon><Delete /></el-icon>
<span>删除</span>
</el-button>
<!-- 更多 -->
<el-dropdown class="ml-2" @command="dropdownHandler">
<span class="cursor-pointer flex items-center text-blue-500 text-[12px]">
更多
<el-icon><DArrowRight /></el-icon>
</span>
<template #dropdown>
<el-dropdown-menu>
<el-dropdown-item class="text-sm" :command="{ type: 'detail', row: scope.row }">
<el-icon><View /></el-icon>
<span>详细</span>
</el-dropdown-item>
<el-dropdown-item class="text-sm" :command="{ type: 'resetPassword', row: scope.row }">
<el-icon><Key /></el-icon>
<span>重置密码</span>
</el-dropdown-item>
</el-dropdown-menu>
</template>
</el-dropdown>
</div>
</template>
</el-table-column>
//下拉菜单选项点击监听
function dropdownHandler(obj) {
console.info(obj.type)
console.info(obj.row)
}