fix: table action
parent
d0210be4cd
commit
74d95b8db4
|
@ -244,28 +244,24 @@ function handleMenuClick(e: any) {
|
||||||
action.onClick();
|
action.onClick();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 生成稳定的 key */
|
|
||||||
function getActionKey(action: ActionItem, index: number) {
|
|
||||||
return `${action.label || ''}-${action.type || ''}-${index}`;
|
|
||||||
}
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="table-actions">
|
<div class="table-actions">
|
||||||
<Space :size="spaceSize">
|
<Space :size="spaceSize">
|
||||||
<template
|
<template v-for="(action, index) in getActions">
|
||||||
v-for="(action, index) in getActions"
|
|
||||||
:key="getActionKey(action, index)"
|
|
||||||
>
|
|
||||||
<Popconfirm
|
<Popconfirm
|
||||||
v-if="action.popConfirm"
|
v-if="action.popConfirm"
|
||||||
v-bind="getPopConfirmProps(action.popConfirm)"
|
v-bind="getPopConfirmProps(action.popConfirm)"
|
||||||
|
:key="getActionKey(action, index)"
|
||||||
>
|
>
|
||||||
<template v-if="action.popConfirm.icon" #icon>
|
<template v-if="action.popConfirm.icon" #icon>
|
||||||
<IconifyIcon :icon="action.popConfirm.icon" />
|
<IconifyIcon :icon="action.popConfirm.icon" />
|
||||||
</template>
|
</template>
|
||||||
<Tooltip v-bind="getTooltipProps(action.tooltip)">
|
<Tooltip
|
||||||
|
v-bind="getTooltipProps(action.tooltip)"
|
||||||
|
:key="getActionKey(action, index)"
|
||||||
|
>
|
||||||
<Button v-bind="getButtonProps(action)">
|
<Button v-bind="getButtonProps(action)">
|
||||||
<template v-if="action.icon" #icon>
|
<template v-if="action.icon" #icon>
|
||||||
<IconifyIcon :icon="action.icon" />
|
<IconifyIcon :icon="action.icon" />
|
||||||
|
@ -274,7 +270,11 @@ function getActionKey(action: ActionItem, index: number) {
|
||||||
</Button>
|
</Button>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
</Popconfirm>
|
</Popconfirm>
|
||||||
<Tooltip v-else v-bind="getTooltipProps(action.tooltip)">
|
<Tooltip
|
||||||
|
v-else
|
||||||
|
v-bind="getTooltipProps(action.tooltip)"
|
||||||
|
:key="`tooltip-${getActionKey(action, index)}`"
|
||||||
|
>
|
||||||
<Button v-bind="getButtonProps(action)" @click="action.onClick">
|
<Button v-bind="getButtonProps(action)" @click="action.onClick">
|
||||||
<template v-if="action.icon" #icon>
|
<template v-if="action.icon" #icon>
|
||||||
<IconifyIcon :icon="action.icon" />
|
<IconifyIcon :icon="action.icon" />
|
||||||
|
|
Loading…
Reference in New Issue