{
+ setContainerWidth(entry?.[0]?.target.clientWidth || 0);
+ }}
+ >
+
+ {items.map((item, index) => {
+ const key = `${(item as ReactElement)?.key || index}_overflow_item`;
+ return (
+ {
+ setOverflowItems((overflowItems) => {
+ overflowItems[key] = { node, width: node.clientWidth };
+ return overflowItems;
+ });
+ }}
+ unregister={() => {
+ setOverflowItems((overflowItems) => {
+ delete overflowItems[key];
+ return overflowItems;
+ });
+ }}
+ hidden={maxCount < index + 1}
+ >
+ {item}
+
+ );
+ })}
+ {[maxTag, ...suffixItems].map((item: JSX.Element, index) => {
+ if (!item) {
+ return null;
+ }
+ const key = `${item?.key || index}_overflow_suffix_item`;
+ return (
+ {
+ setSuffixOverflowItems((suffixOverflowItems) => {
+ return {
+ ...suffixOverflowItems,
+ [`${key}`]: { node, width: node.clientWidth },
+ };
+ });
+ }}
+ unregister={() => {
+ setSuffixOverflowItems((suffixOverflowItems) => {
+ delete suffixOverflowItems[key];
+ return {
+ ...suffixOverflowItems,
+ };
+ });
+ }}
+ >
+ {item}
+
+ );
+ })}
+
+
+ );
+}
diff --git a/components/_class/OverflowEllipsis/style/index.less b/components/_class/OverflowEllipsis/style/index.less
new file mode 100644
index 0000000000..36691fee4d
--- /dev/null
+++ b/components/_class/OverflowEllipsis/style/index.less
@@ -0,0 +1,29 @@
+@import '../../../style/theme/default.less';
+
+@arco-overflow-prefix-cls: ~'@{prefix}-overflow';
+
+.@{arco-overflow-prefix-cls} {
+ display: flex;
+ flex-wrap: nowrap;
+ width: 100%;
+ overflow: hidden;
+ max-width: 100%;
+ justify-content: flex-start;
+ align-items: center;
+
+ &-item {
+ display: inline-flex;
+ max-width: 100%;
+
+ &-hidden {
+ position: absolute;
+ z-index: -1;
+ opacity: 0;
+ }
+ }
+
+ // &-suffix-item {
+ // display: inline-flex;
+ // max-width: 100%;
+ // }
+}
diff --git a/components/_class/select-view.tsx b/components/_class/select-view.tsx
index 41438cc42e..e307e34cd4 100644
--- a/components/_class/select-view.tsx
+++ b/components/_class/select-view.tsx
@@ -25,6 +25,7 @@ import useForceUpdate from '../_util/hooks/useForceUpdate';
import IconHover from './icon-hover';
import { Backspace, Enter } from '../_util/keycode';
import fillNBSP from '../_util/fillNBSP';
+import Tag from '../Tag';
export interface SelectViewCommonProps
extends Pick