tntd 2.7.9 → 2.7.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/es/handle/index.js
CHANGED
|
@@ -35,7 +35,7 @@ export default (props) => {
|
|
|
35
35
|
// 非中文 且非 icon图标
|
|
36
36
|
if (!isCn && !isIconBtn) {
|
|
37
37
|
const titleHandle = (handle) => {
|
|
38
|
-
var _a, _b
|
|
38
|
+
var _a, _b;
|
|
39
39
|
if (!handle) {
|
|
40
40
|
return handle;
|
|
41
41
|
}
|
|
@@ -47,14 +47,16 @@ export default (props) => {
|
|
|
47
47
|
handle = capitalizedWords.join(' ');
|
|
48
48
|
}
|
|
49
49
|
if (React.isValidElement(handle)) {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
}) }) });
|
|
50
|
+
let children = (_a = handle === null || handle === void 0 ? void 0 : handle.props) === null || _a === void 0 ? void 0 : _a.children;
|
|
51
|
+
if (typeof children === 'string') {
|
|
52
|
+
children = titleHandle((_b = handle === null || handle === void 0 ? void 0 : handle.props) === null || _b === void 0 ? void 0 : _b.children);
|
|
54
53
|
}
|
|
55
|
-
else if (
|
|
56
|
-
|
|
54
|
+
else if (children && Array.isArray(children)) {
|
|
55
|
+
children = children === null || children === void 0 ? void 0 : children.map((subHandle) => {
|
|
56
|
+
return titleHandle(subHandle);
|
|
57
|
+
});
|
|
57
58
|
}
|
|
59
|
+
return Object.assign(Object.assign({}, handle), { props: Object.assign(Object.assign({}, handle.props), { children }) });
|
|
58
60
|
}
|
|
59
61
|
return handle;
|
|
60
62
|
};
|
package/es/handle/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/handle/index.js"],"names":[],"mappings":"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","sourcesContent":["import React, { Fragment } from 'react'\nimport LocaleReceiver from 'antd/es/locale-provider/LocaleReceiver'\nimport Icon from '../tntd-icon'\n\nimport Divider from '../divider'\nimport Dropdown from '../dropdown'\nimport Menu from '../menu'\nimport './index.less'\n\nconst clsPrefix = 'tntd-more-menus'\nexport default (props) => {\n \n \n return (\n <LocaleReceiver componentName=\"Handle\">\n {(locale, localeCode) => {\n const {\n children = [],\n type,\n num = 3,\n lang,\n divider = true,\n lessOneMoreFit,\n popConfirmHandle,\n isIconBtn,\n stopPropagation=true,\n ...rest\n } = props || {}\n\n // 非中文\n let isCn = lang === 'cn'\n if (!lang) {\n isCn = localeCode === 'zh-cn'\n }\n\n \n\n let newChildren = []\n if (Array.isArray(children)) {\n newChildren = children?.filter((item) => !!item) || []\n } else if (children) {\n newChildren.push(children)\n }\n\n \n // 非中文 且非 icon图标\n if(!isCn && !isIconBtn){\n const titleHandle = (handle) => {\n if (!handle) {\n return handle\n }\n if (typeof handle === 'string') {\n const words = handle.split(' ')\n const capitalizedWords= words.map((word) => {\n return word.charAt(0).toUpperCase() + word.slice(1)\n })\n handle = capitalizedWords.join(' ')\n }\n if (React.isValidElement(handle)) {\n if (handle?.props?.children && Array.isArray(handle?.props?.children)) {\n return {\n ...handle,\n props: {\n ...handle.props,\n children: handle?.props?.children?.map((subHandle) => {\n return titleHandle(subHandle)\n }),\n },\n }\n }else if(typeof handle?.props?.children === 'string' ){\n handle = titleHandle(handle?.props?.children);\n }\n }\n return handle\n };\n\n newChildren?.forEach((v,i)=>{\n newChildren[i] = React.cloneElement(v, {\n ...(v?.props || {}),\n children:titleHandle(v.props.children)\n })\n })\n }\n\n // 子元素大于1个,且不是 icon元素\n const specialSceneDefaultShow = newChildren?.length > 1 && !isIconBtn\n\n if (specialSceneDefaultShow && (!isCn || popConfirmHandle)) {\n newChildren?.forEach((v, i) => {\n const { type, props } = v\n if (\n type?.name === 'Popconfirm' ||\n (props.hasOwnProperty('onConfirm') && typeof props?.onConfirm === 'function')\n ) {\n let placement = {}\n if (\n !isCn ||\n (num &&\n !isNaN(num) &&\n i + 1 > num &&\n !(lessOneMoreFit && newChildren.length - num === 1))\n ) {\n placement = {\n placement: 'left',\n }\n }\n newChildren[i] = React.cloneElement(v, {\n overlayStyle: { width: 180 },\n ...(v?.props || {}),\n onClick: (e) => e.stopPropagation(),\n ...placement,\n trigger: 'hover',\n getPopupContainer: (trigger) => trigger.parentNode,\n })\n }\n })\n }\n\n let [preChildPart, lastChildPart] = [newChildren, null]\n\n // 只有1个时不适配\n if (lessOneMoreFit && newChildren.length - num === 1) {\n preChildPart = newChildren\n } else if (newChildren && num && !isNaN(num) && newChildren.length > num) {\n preChildPart = newChildren.slice(0, num)\n lastChildPart = newChildren.slice(num)\n }\n\n if (divider && preChildPart) {\n const preChildLen = preChildPart.length\n preChildPart = preChildPart.map((dom, i) => (\n <Fragment key={i}>\n {dom}\n {!(\n (i === preChildLen - 1 && !lastChildPart?.length) // 没有更多 且 是最后一个时 不显示 Divider\n ) && <Divider type=\"vertical\" />}\n </Fragment>\n ))\n }\n const menu = (childArr)=>(\n <Menu className=\"org-pop-opera-btn\">\n {\n childArr?.map(\n (child,i) => (\n <Menu.Item key={i}>\n {child}\n </Menu.Item>\n )\n )\n }\n </Menu>\n );\n\n\n if(!isCn && specialSceneDefaultShow ){\n return (\n <Dropdown overlay={menu(newChildren||[])} arrow onClick={(e)=>{\n if(stopPropagation){\n e.stopPropagation()\n }\n }}>\n {\n type === 'icon' ?\n <Icon type=\"more\" /> :\n <a className=\"ant-dropdown-more\">\n {locale?.more}\n <i className={`${clsPrefix}-dropdown-icon`}>\n <Icon type=\"down\" />\n </i>\n </a>\n }\n </Dropdown>\n );\n }\n\n return (\n <div\n onClick={(e) => {\n if(stopPropagation){\n e.stopPropagation()\n }\n }}\n {...rest}\n >\n {preChildPart}\n {!!lastChildPart?.length && (\n <Dropdown overlay={menu(lastChildPart || [])} arrow>\n {type === 'icon' ? (\n <Icon type=\"more\" />\n ) : (\n <a className=\"ant-dropdown-more\">\n {locale?.more}\n <i className={`${clsPrefix}-dropdown-icon`}>\n <Icon type=\"down\" />\n </i>\n </a>\n )}\n </Dropdown>\n )}\n </div>\n )\n }}\n </LocaleReceiver>\n )\n}\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/handle/index.js"],"names":[],"mappings":"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","sourcesContent":["import React, { Fragment } from 'react'\nimport LocaleReceiver from 'antd/es/locale-provider/LocaleReceiver'\nimport Icon from '../tntd-icon'\n\nimport Divider from '../divider'\nimport Dropdown from '../dropdown'\nimport Menu from '../menu'\nimport './index.less'\n\nconst clsPrefix = 'tntd-more-menus'\nexport default (props) => {\n\n\n return (\n <LocaleReceiver componentName=\"Handle\">\n {(locale, localeCode) => {\n const {\n children = [],\n type,\n num = 3,\n lang,\n divider = true,\n lessOneMoreFit,\n popConfirmHandle,\n isIconBtn,\n stopPropagation=true,\n ...rest\n } = props || {}\n\n // 非中文\n let isCn = lang === 'cn'\n if (!lang) {\n isCn = localeCode === 'zh-cn'\n }\n\n\n\n let newChildren = []\n if (Array.isArray(children)) {\n newChildren = children?.filter((item) => !!item) || []\n } else if (children) {\n newChildren.push(children)\n }\n\n\n // 非中文 且非 icon图标\n if(!isCn && !isIconBtn){\n const titleHandle = (handle) => {\n if (!handle) {\n return handle\n }\n if (typeof handle === 'string') {\n const words = handle.split(' ')\n const capitalizedWords= words.map((word) => {\n return word.charAt(0).toUpperCase() + word.slice(1)\n })\n handle = capitalizedWords.join(' ')\n }\n if (React.isValidElement(handle)) {\n let children = handle?.props?.children\n if(typeof children === 'string' ){\n children = titleHandle(handle?.props?.children);\n }else if (children && Array.isArray(children)) {\n children= children?.map((subHandle) => {\n return titleHandle(subHandle)\n })\n }\n return {\n ...handle,\n props: {\n ...handle.props,\n children\n }\n }\n \n }\n return handle\n };\n\n newChildren?.forEach((v,i)=>{\n newChildren[i] = React.cloneElement(v, {\n ...(v?.props || {}),\n children:titleHandle(v.props.children)\n })\n })\n }\n\n // 子元素大于1个,且不是 icon元素\n const specialSceneDefaultShow = newChildren?.length > 1 && !isIconBtn\n\n if (specialSceneDefaultShow && (!isCn || popConfirmHandle)) {\n newChildren?.forEach((v, i) => {\n const { type, props } = v\n if (\n type?.name === 'Popconfirm' ||\n (props.hasOwnProperty('onConfirm') && typeof props?.onConfirm === 'function')\n ) {\n let placement = {}\n if (\n !isCn ||\n (num &&\n !isNaN(num) &&\n i + 1 > num &&\n !(lessOneMoreFit && newChildren.length - num === 1))\n ) {\n placement = {\n placement: 'left',\n }\n }\n newChildren[i] = React.cloneElement(v, {\n overlayStyle: { width: 180 },\n ...(v?.props || {}),\n onClick: (e) => e.stopPropagation(),\n ...placement,\n trigger: 'hover',\n getPopupContainer: (trigger) => trigger.parentNode,\n })\n }\n })\n }\n\n let [preChildPart, lastChildPart] = [newChildren, null]\n\n // 只有1个时不适配\n if (lessOneMoreFit && newChildren.length - num === 1) {\n preChildPart = newChildren\n } else if (newChildren && num && !isNaN(num) && newChildren.length > num) {\n preChildPart = newChildren.slice(0, num)\n lastChildPart = newChildren.slice(num)\n }\n\n if (divider && preChildPart) {\n const preChildLen = preChildPart.length\n preChildPart = preChildPart.map((dom, i) => (\n <Fragment key={i}>\n {dom}\n {!(\n (i === preChildLen - 1 && !lastChildPart?.length) // 没有更多 且 是最后一个时 不显示 Divider\n ) && <Divider type=\"vertical\" />}\n </Fragment>\n ))\n }\n const menu = (childArr)=>(\n <Menu className=\"org-pop-opera-btn\">\n {\n childArr?.map(\n (child,i) => (\n <Menu.Item key={i}>\n {child}\n </Menu.Item>\n )\n )\n }\n </Menu>\n );\n\n\n if(!isCn && specialSceneDefaultShow ){\n return (\n <Dropdown overlay={menu(newChildren||[])} arrow onClick={(e)=>{\n if(stopPropagation){\n e.stopPropagation()\n }\n }}>\n {\n type === 'icon' ?\n <Icon type=\"more\" /> :\n <a className=\"ant-dropdown-more\">\n {locale?.more}\n <i className={`${clsPrefix}-dropdown-icon`}>\n <Icon type=\"down\" />\n </i>\n </a>\n }\n </Dropdown>\n );\n }\n\n return (\n <div\n onClick={(e) => {\n if(stopPropagation){\n e.stopPropagation()\n }\n }}\n {...rest}\n >\n {preChildPart}\n {!!lastChildPart?.length && (\n <Dropdown overlay={menu(lastChildPart || [])} arrow>\n {type === 'icon' ? (\n <Icon type=\"more\" />\n ) : (\n <a className=\"ant-dropdown-more\">\n {locale?.more}\n <i className={`${clsPrefix}-dropdown-icon`}>\n <Icon type=\"down\" />\n </i>\n </a>\n )}\n </Dropdown>\n )}\n </div>\n )\n }}\n </LocaleReceiver>\n )\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/handle/index.js"],"names":[],"mappings":"AAUe,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/handle/index.js"],"names":[],"mappings":"AAUe,mDAqMd"}
|
package/lib/handle/index.js
CHANGED
|
@@ -63,7 +63,7 @@ exports.default = (props) => {
|
|
|
63
63
|
// 非中文 且非 icon图标
|
|
64
64
|
if (!isCn && !isIconBtn) {
|
|
65
65
|
const titleHandle = (handle) => {
|
|
66
|
-
var _a, _b
|
|
66
|
+
var _a, _b;
|
|
67
67
|
if (!handle) {
|
|
68
68
|
return handle;
|
|
69
69
|
}
|
|
@@ -75,14 +75,16 @@ exports.default = (props) => {
|
|
|
75
75
|
handle = capitalizedWords.join(' ');
|
|
76
76
|
}
|
|
77
77
|
if (react_1.default.isValidElement(handle)) {
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
}) }) });
|
|
78
|
+
let children = (_a = handle === null || handle === void 0 ? void 0 : handle.props) === null || _a === void 0 ? void 0 : _a.children;
|
|
79
|
+
if (typeof children === 'string') {
|
|
80
|
+
children = titleHandle((_b = handle === null || handle === void 0 ? void 0 : handle.props) === null || _b === void 0 ? void 0 : _b.children);
|
|
82
81
|
}
|
|
83
|
-
else if (
|
|
84
|
-
|
|
82
|
+
else if (children && Array.isArray(children)) {
|
|
83
|
+
children = children === null || children === void 0 ? void 0 : children.map((subHandle) => {
|
|
84
|
+
return titleHandle(subHandle);
|
|
85
|
+
});
|
|
85
86
|
}
|
|
87
|
+
return Object.assign(Object.assign({}, handle), { props: Object.assign(Object.assign({}, handle.props), { children }) });
|
|
86
88
|
}
|
|
87
89
|
return handle;
|
|
88
90
|
};
|
package/lib/handle/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/handle/index.js"],"names":[],"mappings":"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","sourcesContent":["import React, { Fragment } from 'react'\nimport LocaleReceiver from 'antd/es/locale-provider/LocaleReceiver'\nimport Icon from '../tntd-icon'\n\nimport Divider from '../divider'\nimport Dropdown from '../dropdown'\nimport Menu from '../menu'\nimport './index.less'\n\nconst clsPrefix = 'tntd-more-menus'\nexport default (props) => {\n \n \n return (\n <LocaleReceiver componentName=\"Handle\">\n {(locale, localeCode) => {\n const {\n children = [],\n type,\n num = 3,\n lang,\n divider = true,\n lessOneMoreFit,\n popConfirmHandle,\n isIconBtn,\n stopPropagation=true,\n ...rest\n } = props || {}\n\n // 非中文\n let isCn = lang === 'cn'\n if (!lang) {\n isCn = localeCode === 'zh-cn'\n }\n\n \n\n let newChildren = []\n if (Array.isArray(children)) {\n newChildren = children?.filter((item) => !!item) || []\n } else if (children) {\n newChildren.push(children)\n }\n\n \n // 非中文 且非 icon图标\n if(!isCn && !isIconBtn){\n const titleHandle = (handle) => {\n if (!handle) {\n return handle\n }\n if (typeof handle === 'string') {\n const words = handle.split(' ')\n const capitalizedWords= words.map((word) => {\n return word.charAt(0).toUpperCase() + word.slice(1)\n })\n handle = capitalizedWords.join(' ')\n }\n if (React.isValidElement(handle)) {\n if (handle?.props?.children && Array.isArray(handle?.props?.children)) {\n return {\n ...handle,\n props: {\n ...handle.props,\n children: handle?.props?.children?.map((subHandle) => {\n return titleHandle(subHandle)\n }),\n },\n }\n }else if(typeof handle?.props?.children === 'string' ){\n handle = titleHandle(handle?.props?.children);\n }\n }\n return handle\n };\n\n newChildren?.forEach((v,i)=>{\n newChildren[i] = React.cloneElement(v, {\n ...(v?.props || {}),\n children:titleHandle(v.props.children)\n })\n })\n }\n\n // 子元素大于1个,且不是 icon元素\n const specialSceneDefaultShow = newChildren?.length > 1 && !isIconBtn\n\n if (specialSceneDefaultShow && (!isCn || popConfirmHandle)) {\n newChildren?.forEach((v, i) => {\n const { type, props } = v\n if (\n type?.name === 'Popconfirm' ||\n (props.hasOwnProperty('onConfirm') && typeof props?.onConfirm === 'function')\n ) {\n let placement = {}\n if (\n !isCn ||\n (num &&\n !isNaN(num) &&\n i + 1 > num &&\n !(lessOneMoreFit && newChildren.length - num === 1))\n ) {\n placement = {\n placement: 'left',\n }\n }\n newChildren[i] = React.cloneElement(v, {\n overlayStyle: { width: 180 },\n ...(v?.props || {}),\n onClick: (e) => e.stopPropagation(),\n ...placement,\n trigger: 'hover',\n getPopupContainer: (trigger) => trigger.parentNode,\n })\n }\n })\n }\n\n let [preChildPart, lastChildPart] = [newChildren, null]\n\n // 只有1个时不适配\n if (lessOneMoreFit && newChildren.length - num === 1) {\n preChildPart = newChildren\n } else if (newChildren && num && !isNaN(num) && newChildren.length > num) {\n preChildPart = newChildren.slice(0, num)\n lastChildPart = newChildren.slice(num)\n }\n\n if (divider && preChildPart) {\n const preChildLen = preChildPart.length\n preChildPart = preChildPart.map((dom, i) => (\n <Fragment key={i}>\n {dom}\n {!(\n (i === preChildLen - 1 && !lastChildPart?.length) // 没有更多 且 是最后一个时 不显示 Divider\n ) && <Divider type=\"vertical\" />}\n </Fragment>\n ))\n }\n const menu = (childArr)=>(\n <Menu className=\"org-pop-opera-btn\">\n {\n childArr?.map(\n (child,i) => (\n <Menu.Item key={i}>\n {child}\n </Menu.Item>\n )\n )\n }\n </Menu>\n );\n\n\n if(!isCn && specialSceneDefaultShow ){\n return (\n <Dropdown overlay={menu(newChildren||[])} arrow onClick={(e)=>{\n if(stopPropagation){\n e.stopPropagation()\n }\n }}>\n {\n type === 'icon' ?\n <Icon type=\"more\" /> :\n <a className=\"ant-dropdown-more\">\n {locale?.more}\n <i className={`${clsPrefix}-dropdown-icon`}>\n <Icon type=\"down\" />\n </i>\n </a>\n }\n </Dropdown>\n );\n }\n\n return (\n <div\n onClick={(e) => {\n if(stopPropagation){\n e.stopPropagation()\n }\n }}\n {...rest}\n >\n {preChildPart}\n {!!lastChildPart?.length && (\n <Dropdown overlay={menu(lastChildPart || [])} arrow>\n {type === 'icon' ? (\n <Icon type=\"more\" />\n ) : (\n <a className=\"ant-dropdown-more\">\n {locale?.more}\n <i className={`${clsPrefix}-dropdown-icon`}>\n <Icon type=\"down\" />\n </i>\n </a>\n )}\n </Dropdown>\n )}\n </div>\n )\n }}\n </LocaleReceiver>\n )\n}\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/handle/index.js"],"names":[],"mappings":"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","sourcesContent":["import React, { Fragment } from 'react'\nimport LocaleReceiver from 'antd/es/locale-provider/LocaleReceiver'\nimport Icon from '../tntd-icon'\n\nimport Divider from '../divider'\nimport Dropdown from '../dropdown'\nimport Menu from '../menu'\nimport './index.less'\n\nconst clsPrefix = 'tntd-more-menus'\nexport default (props) => {\n\n\n return (\n <LocaleReceiver componentName=\"Handle\">\n {(locale, localeCode) => {\n const {\n children = [],\n type,\n num = 3,\n lang,\n divider = true,\n lessOneMoreFit,\n popConfirmHandle,\n isIconBtn,\n stopPropagation=true,\n ...rest\n } = props || {}\n\n // 非中文\n let isCn = lang === 'cn'\n if (!lang) {\n isCn = localeCode === 'zh-cn'\n }\n\n\n\n let newChildren = []\n if (Array.isArray(children)) {\n newChildren = children?.filter((item) => !!item) || []\n } else if (children) {\n newChildren.push(children)\n }\n\n\n // 非中文 且非 icon图标\n if(!isCn && !isIconBtn){\n const titleHandle = (handle) => {\n if (!handle) {\n return handle\n }\n if (typeof handle === 'string') {\n const words = handle.split(' ')\n const capitalizedWords= words.map((word) => {\n return word.charAt(0).toUpperCase() + word.slice(1)\n })\n handle = capitalizedWords.join(' ')\n }\n if (React.isValidElement(handle)) {\n let children = handle?.props?.children\n if(typeof children === 'string' ){\n children = titleHandle(handle?.props?.children);\n }else if (children && Array.isArray(children)) {\n children= children?.map((subHandle) => {\n return titleHandle(subHandle)\n })\n }\n return {\n ...handle,\n props: {\n ...handle.props,\n children\n }\n }\n \n }\n return handle\n };\n\n newChildren?.forEach((v,i)=>{\n newChildren[i] = React.cloneElement(v, {\n ...(v?.props || {}),\n children:titleHandle(v.props.children)\n })\n })\n }\n\n // 子元素大于1个,且不是 icon元素\n const specialSceneDefaultShow = newChildren?.length > 1 && !isIconBtn\n\n if (specialSceneDefaultShow && (!isCn || popConfirmHandle)) {\n newChildren?.forEach((v, i) => {\n const { type, props } = v\n if (\n type?.name === 'Popconfirm' ||\n (props.hasOwnProperty('onConfirm') && typeof props?.onConfirm === 'function')\n ) {\n let placement = {}\n if (\n !isCn ||\n (num &&\n !isNaN(num) &&\n i + 1 > num &&\n !(lessOneMoreFit && newChildren.length - num === 1))\n ) {\n placement = {\n placement: 'left',\n }\n }\n newChildren[i] = React.cloneElement(v, {\n overlayStyle: { width: 180 },\n ...(v?.props || {}),\n onClick: (e) => e.stopPropagation(),\n ...placement,\n trigger: 'hover',\n getPopupContainer: (trigger) => trigger.parentNode,\n })\n }\n })\n }\n\n let [preChildPart, lastChildPart] = [newChildren, null]\n\n // 只有1个时不适配\n if (lessOneMoreFit && newChildren.length - num === 1) {\n preChildPart = newChildren\n } else if (newChildren && num && !isNaN(num) && newChildren.length > num) {\n preChildPart = newChildren.slice(0, num)\n lastChildPart = newChildren.slice(num)\n }\n\n if (divider && preChildPart) {\n const preChildLen = preChildPart.length\n preChildPart = preChildPart.map((dom, i) => (\n <Fragment key={i}>\n {dom}\n {!(\n (i === preChildLen - 1 && !lastChildPart?.length) // 没有更多 且 是最后一个时 不显示 Divider\n ) && <Divider type=\"vertical\" />}\n </Fragment>\n ))\n }\n const menu = (childArr)=>(\n <Menu className=\"org-pop-opera-btn\">\n {\n childArr?.map(\n (child,i) => (\n <Menu.Item key={i}>\n {child}\n </Menu.Item>\n )\n )\n }\n </Menu>\n );\n\n\n if(!isCn && specialSceneDefaultShow ){\n return (\n <Dropdown overlay={menu(newChildren||[])} arrow onClick={(e)=>{\n if(stopPropagation){\n e.stopPropagation()\n }\n }}>\n {\n type === 'icon' ?\n <Icon type=\"more\" /> :\n <a className=\"ant-dropdown-more\">\n {locale?.more}\n <i className={`${clsPrefix}-dropdown-icon`}>\n <Icon type=\"down\" />\n </i>\n </a>\n }\n </Dropdown>\n );\n }\n\n return (\n <div\n onClick={(e) => {\n if(stopPropagation){\n e.stopPropagation()\n }\n }}\n {...rest}\n >\n {preChildPart}\n {!!lastChildPart?.length && (\n <Dropdown overlay={menu(lastChildPart || [])} arrow>\n {type === 'icon' ? (\n <Icon type=\"more\" />\n ) : (\n <a className=\"ant-dropdown-more\">\n {locale?.more}\n <i className={`${clsPrefix}-dropdown-icon`}>\n <Icon type=\"down\" />\n </i>\n </a>\n )}\n </Dropdown>\n )}\n </div>\n )\n }}\n </LocaleReceiver>\n )\n}\n"]}
|