Skip to content

Commit 000258d

Browse files
committed
fix: collapse.item 异步加载显示异常的bug
1 parent 63dfa9f commit 000258d

File tree

2 files changed

+37
-19
lines changed

2 files changed

+37
-19
lines changed

components/Collapse/item.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,8 @@ function Item(props: PropsWithChildren<CollapseItemProps>, ref) {
111111
<Transition
112112
nodeRef={divRef}
113113
in={isExpanded}
114-
addEndListener={(_, done) => {
114+
// when nodeRef prop is passed, node is not passed, so done is being passed as the first argument.
115+
addEndListener={(done) => {
115116
divRef.current?.addEventListener('transitionend', done, false);
116117
}}
117118
mountOnEnter={'destroyOnHide' in props ? destroyOnHide : ctx.destroyOnHide || ctx.lazyload}

stories/Collapse.story.tsx

Lines changed: 35 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import React from 'react';
2-
import { Collapse } from '@self';
1+
import React, { useEffect } from 'react';
2+
import { Collapse, Skeleton } from '@self';
33

44
const CollapseItem = Collapse.Item;
55

@@ -11,22 +11,39 @@ const props = {
1111
className: 'customClass',
1212
};
1313

14-
export const Demo = () => (
15-
<Collapse defaultActiveKey={['1', '2']} style={{ border: 'none' }}>
16-
<CollapseItem header="琼恩·雪诺" name="1" {...props}>
17-
艾德公爵的私生儿子,与罗柏·史塔克同龄,兄弟关系亲密无间。其母身份不明,艾德公爵拒绝向任何人透露——有人传说那是南方某家族的一位贵族小姐,也有人说是一个寻常的使女。
18-
</CollapseItem>
19-
<CollapseItem header="丹尼莉丝·坦格利安" name="2" {...props}>
20-
坦格利安王朝的末代君王伊里斯·坦格利安二世的幼女,银发紫眼,美貌异于常人。丹妮莉丝出生时一场剧烈的风暴袭击了龙石岛,“风暴降生”因此得名。
21-
</CollapseItem>
22-
<CollapseItem header="提利昂·兰尼斯特" name="3" {...props}>
23-
泰温公爵和乔安娜夫人的第三个也是最小的孩子。因为是个侏儒,他有时候被戏称为小恶魔和半人。他利用自己的智慧屡次化险为夷,帮助兰尼斯特家族赢得了五王之战,但命运的不公使得他成为了一个弑亲者和通缉犯,踏上了流亡之路。
24-
</CollapseItem>
25-
<CollapseItem header="瑟曦·兰尼斯特·拜拉席恩" name="4" {...props}>
26-
泰溫公爵和喬安娜夫人的長女,是詹姆·蘭尼斯特的孿生姐姐。在篡奪者戰爭之後她嫁給了新王勞勃·拜拉席恩,成為七大王國的王后。
27-
</CollapseItem>
28-
</Collapse>
29-
);
14+
export const Demo = () => {
15+
const [loading, setLoading] = React.useState(true);
16+
17+
// useEffect(() => {
18+
// setTimeout(() => {
19+
// setLoading(false);
20+
// }, 2000);
21+
// }, []);
22+
23+
return (
24+
<Collapse
25+
onChange={() => {
26+
setTimeout(() => {
27+
setLoading(false);
28+
}, 2000);
29+
}}
30+
>
31+
<CollapseItem header="琼恩·雪诺" name="1" {...props}>
32+
艾德公爵的私生儿子,与罗柏·史塔克同龄,兄弟关系亲密无间。其母身份不明,艾德公爵拒绝向任何人透露——有人传说那是南方某家族的一位贵族小姐,也有人说是一个寻常的使女。
33+
{!loading && <Skeleton />}
34+
</CollapseItem>
35+
<CollapseItem header="丹尼莉丝·坦格利安" name="2" {...props}>
36+
坦格利安王朝的末代君王伊里斯·坦格利安二世的幼女,银发紫眼,美貌异于常人。丹妮莉丝出生时一场剧烈的风暴袭击了龙石岛,“风暴降生”因此得名。
37+
</CollapseItem>
38+
<CollapseItem header="提利昂·兰尼斯特" name="3" {...props}>
39+
泰温公爵和乔安娜夫人的第三个也是最小的孩子。因为是个侏儒,他有时候被戏称为小恶魔和半人。他利用自己的智慧屡次化险为夷,帮助兰尼斯特家族赢得了五王之战,但命运的不公使得他成为了一个弑亲者和通缉犯,踏上了流亡之路。
40+
</CollapseItem>
41+
<CollapseItem header="瑟曦·兰尼斯特·拜拉席恩" name="4" {...props}>
42+
泰溫公爵和喬安娜夫人的長女,是詹姆·蘭尼斯特的孿生姐姐。在篡奪者戰爭之後她嫁給了新王勞勃·拜拉席恩,成為七大王國的王后。
43+
</CollapseItem>
44+
</Collapse>
45+
);
46+
};
3047

3148
export default {
3249
title: 'Collapse',

0 commit comments

Comments
 (0)