Selaa lähdekoodia

fix(table-action): stopButtonPropagation not working

修复TableAction组件的stopButtonPropagation属性无效的问题
无木 3 vuotta sitten
vanhempi
commit
9b8f165a36
2 muutettua tiedostoa jossa 6 lisäystä ja 4 poistoa
  1. 1 0
      CHANGELOG.zh_CN.md
  2. 5 4
      src/components/Table/src/components/TableAction.vue

+ 1 - 0
CHANGELOG.zh_CN.md

@@ -3,6 +3,7 @@
 - **ApiTreeSelect** 修复未能正确监听`params`变化的问题
 - **BasicTable** 修复可编辑单元格不支持`ellipsis`配置的问题
 - **ImgRotateDragVerify** 修复组件`resume`方法无法调用的问题
+- **TableAction** 修复 stopButtonPropagation 属性某些情况下不起作用的问题
 - **Dark Theme** 黑暗主题下的配色问题修正
   - 修复`Tree`组件被选中节点的背景颜色
   - 修复`Alert`组件的颜色配置

+ 5 - 4
src/components/Table/src/components/TableAction.vue

@@ -140,10 +140,11 @@
 
       function onCellClick(e: MouseEvent) {
         if (!props.stopButtonPropagation) return;
-        const target = e.target as HTMLElement;
-        if (target.tagName === 'BUTTON') {
-          e.stopPropagation();
-        }
+        const path = e.composedPath() as HTMLElement[];
+        const isInButton = path.find((ele) => {
+          return ele.tagName?.toUpperCase() === 'BUTTON';
+        });
+        isInButton && e.stopPropagation();
       }
 
       return { prefixCls, getActions, getDropdownList, getAlign, onCellClick, getTooltip };