Skip to content

Commit 512351c

Browse files
committed
Merge remote-tracking branch 'origin/master'
2 parents 53997d5 + 2058c4b commit 512351c

File tree

5 files changed

+24
-5
lines changed

5 files changed

+24
-5
lines changed

.dumirc.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ export default defineConfig({
99
},
1010
exportStatic: {},
1111
outputPath: 'docs-dist',
12-
base: isGitPagesSite ? `/rc-overflow/` : ``,
13-
publicPath: isGitPagesSite ? `/rc-overflow/` : ``,
12+
base: isGitPagesSite ? `/rc-overflow/` : `/`,
13+
publicPath: isGitPagesSite ? `/rc-overflow/` : `/`,
1414
styles: [
1515
`
1616
.markdown table {

package.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,9 @@
8080
"react": ">=16.9.0",
8181
"react-dom": ">=16.9.0"
8282
},
83+
"overrides": {
84+
"cheerio":"1.0.0-rc.12"
85+
},
8386
"cnpm": {
8487
"mode": "npm"
8588
},

src/Item.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ export interface ItemProps<ItemType> extends React.HTMLAttributes<any> {
1111
item?: ItemType;
1212
className?: string;
1313
style?: React.CSSProperties;
14-
renderItem?: (item: ItemType) => React.ReactNode;
14+
renderItem?: (item: ItemType, info: { index: number }) => React.ReactNode;
1515
responsive?: boolean;
1616
// https://github.com/ant-design/ant-design/issues/35475
1717
/**
@@ -66,7 +66,7 @@ function InternalItem<ItemType>(
6666

6767
// ================================ Render ================================
6868
const childNode =
69-
renderItem && item !== UNDEFINED ? renderItem(item) : children;
69+
renderItem && item !== UNDEFINED ? renderItem(item, { index: order }) : children;
7070

7171
let overflowStyle: React.CSSProperties | undefined;
7272
if (!invalidate) {

src/Overflow.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ export interface OverflowProps<ItemType> extends React.HTMLAttributes<any> {
2424
itemKey?: React.Key | ((item: ItemType) => React.Key);
2525
/** Used for `responsive`. It will limit render node to avoid perf issue */
2626
itemWidth?: number;
27-
renderItem?: (item: ItemType) => React.ReactNode;
27+
renderItem?: (item: ItemType, info: { index: number }) => React.ReactNode;
2828
/** @private Do not use in your production. Render raw node that need wrap Item by developer self */
2929
renderRawItem?: (item: ItemType, index: number) => React.ReactElement;
3030
maxCount?: number | typeof RESPONSIVE | typeof INVALIDATE;

tests/index.spec.tsx

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,22 @@ describe('Overflow.Basic', () => {
5151
expect(wrapper.find('Item').text()).toEqual('Bamboo Is Light');
5252
});
5353

54+
it('renderItem params have "order"', () => {
55+
const testData = getData(3);
56+
const wrapper = mount(
57+
<Overflow
58+
data={testData}
59+
renderItem={(item, info) => {
60+
return `${item.label}-${info.index}-test`;
61+
}}
62+
/>,
63+
);
64+
const renderedItems = wrapper.find('.rc-overflow-item');
65+
expect(renderedItems).toHaveLength(testData.length);
66+
renderedItems.forEach((node, index) => {
67+
expect(node.text()).toBe(`${testData[index].label}-${index}-test`);
68+
});
69+
});
5470
describe('renderRest', () => {
5571
it('function', () => {
5672
const wrapper = mount(

0 commit comments

Comments
 (0)