操作栏 宽度

This commit is contained in:
lbin
2026-07-23 19:11:08 +08:00
parent bed4d4dc4a
commit b7042c8387
+5 -2
View File
@@ -35,7 +35,7 @@
</el-table-column>
</template>
<el-table-column :label="$t('base.operation')" :width="rowActionsWidth" v-if="hasRowActions">
<el-table-column :label="$t('base.operation')" :width="resolvedRowActionsWidth" v-if="hasRowActions">
<template #default="{ row }">
<el-button v-if="hasActiveField && can('edit')" link :type="row.active ? 'warning' : 'success'" :icon="row.active ? VideoPause : VideoPlay" size="large" @click="handleToggleActive(row)" />
<el-button v-if="can('edit')" link type="primary" :icon="Edit" size="large" @click="handleEdit(row)" />
@@ -100,6 +100,8 @@ interface Props {
pageSize?: number
/** 显式锁定的筛选条件(覆盖自动 ownerKey 推断);用户无法修改,会合并进 filter 并在筛选抽屉中隐藏 */
baseFilter?: Record<string, any>
/** 显式指定操作列宽度;传入后覆盖按内置按钮数量自动计算的宽度,适用于 row-actions 插槽塞了多个按钮的场景 */
rowActionsWidth?: number | string
}
const props = withDefaults(defineProps<Props>(), {
@@ -287,7 +289,8 @@ function handleSubJump(sub: IModuleInfo, row: any) {
const hasRowActions = computed(() => can('edit') || can('delete') || hasActiveField.value || subModules.value.length > 0 || !!slots['row-actions'])
const rowActionsWidth = computed(() => {
const resolvedRowActionsWidth = computed(() => {
if (props.rowActionsWidth != null && props.rowActionsWidth !== '') return props.rowActionsWidth
let n = 0
if (hasActiveField.value && can('edit')) n++
if (can('edit')) n++