11import React , { ReactNode } from 'react' ;
22import { EllipsisOutlined } from '@ant-design/icons' ;
33import { Button , ButtonProps , Divider , Dropdown , DropDownProps , Menu } from 'antd' ;
4+ import classNames from 'classnames' ;
5+
6+ import './style.scss' ;
47
58type ActionItem = {
69 key : React . Key ;
710 name : ReactNode ;
811 disabled ?: boolean ;
912 render ?: ( ) => ReactNode ;
10- [ propName : string ] : any ;
1113} ;
1214
1315interface ICollapsibleActionItems {
@@ -18,6 +20,7 @@ interface ICollapsibleActionItems {
1820 collapseIcon ?: ReactNode ; // 折叠菜单图标
1921 dropdownProps ?: Partial < DropDownProps > ;
2022 buttonProps ?: Partial < ButtonProps > ;
23+ style ?: React . CSSProperties ;
2124 onItemClick ?( key : React . Key ) : void ;
2225}
2326
@@ -30,6 +33,7 @@ const CollapsibleActionItems: React.FC<ICollapsibleActionItems> = (props) => {
3033 collapseIcon = < EllipsisOutlined /> ,
3134 dropdownProps,
3235 buttonProps,
36+ style,
3337 onItemClick,
3438 } = props ;
3539 const isOverMaxCount = actionItems . length > maxCount ;
@@ -38,7 +42,7 @@ const CollapsibleActionItems: React.FC<ICollapsibleActionItems> = (props) => {
3842 if ( ! isCollapse )
3943 return (
4044 < span
41- className = "dtc-action-btn-wrapper "
45+ className = "dtc-collapsibleActionItems__btn "
4246 key = { item . key }
4347 onClick = { ( ) => ! item . disabled && onItemClick ?.( item . key ) }
4448 >
@@ -70,7 +74,7 @@ const CollapsibleActionItems: React.FC<ICollapsibleActionItems> = (props) => {
7074 ) : null ;
7175
7276 return (
73- < div className = { className } >
77+ < div className = { classNames ( 'dtc-collapsibleActionItems' , className ) } style = { style } >
7478 { displayAction . map ( ( actionItem , index ) => {
7579 const showDivider = index < actionItems . length - 1 ;
7680 return (
@@ -86,7 +90,7 @@ const CollapsibleActionItems: React.FC<ICollapsibleActionItems> = (props) => {
8690 getPopupContainer = { ( triggerNode ) => triggerNode . parentElement ?? document . body }
8791 { ...dropdownProps }
8892 >
89- < a data-testid = "action-dropdown-link "> { collapseIcon } </ a >
93+ < a className = "dtc-collapsibleActionItems__icon "> { collapseIcon } </ a >
9094 </ Dropdown >
9195 ) }
9296 </ div >
0 commit comments