瀏覽代碼

fix(popconfirm-button): remove button excess `title`

移除PopconfirmButton组件多余的title;修改TableAction的tooltip默认位置
无木 3 年之前
父節點
當前提交
73654b7862

+ 1 - 1
src/components/Button/src/PopConfirmButton.vue

@@ -41,7 +41,7 @@
 
       return () => {
         const bindValues = omit(unref(getBindValues), 'icon');
-        const Button = h(BasicButton, bindValues, extendSlots(slots));
+        const Button = h(BasicButton, omit(bindValues, 'title'), extendSlots(slots));
 
         // If it is not enabled, it is a normal button
         if (!props.enable) {

+ 6 - 8
src/components/Table/src/components/TableAction.vue

@@ -3,10 +3,8 @@
     <template v-for="(action, index) in getActions" :key="`${index}-${action.label}`">
       <Tooltip v-bind="getTooltip(action.tooltip)">
         <PopConfirmButton v-bind="action">
-          <Tooltip v-bind="getTooltip(action.tooltip)">
-            <Icon :icon="action.icon" class="mr-1" v-if="action.icon" />
-            {{ action.label }}
-          </Tooltip>
+          <Icon :icon="action.icon" class="mr-1" v-if="action.icon" />
+          {{ action.label }}
         </PopConfirmButton>
       </Tooltip>
       <Divider
@@ -35,7 +33,7 @@
 <script lang="ts">
   import { defineComponent, PropType, computed, toRaw } from 'vue';
   import { MoreOutlined } from '@ant-design/icons-vue';
-  import { Divider, Tooltip } from 'ant-design-vue';
+  import { Divider, Tooltip, TooltipProps } from 'ant-design-vue';
   import Icon from '/@/components/Icon/index';
   import { ActionItem, TableActionType } from '/@/components/Table';
   import { PopConfirmButton } from '/@/components/Button';
@@ -129,11 +127,11 @@
       });
 
       const getTooltip = computed(() => {
-        return (data) => {
+        return (data: string | TooltipProps): TooltipProps => {
           if (isString(data)) {
-            return { title: data };
+            return { title: data, placement: 'bottom' };
           } else {
-            return data;
+            return Object.assign({ placement: 'bottom' }, data);
           }
         };
       });