Skip to content

Commit 10a11fc

Browse files
committed
fix tc
1 parent 4ccb22b commit 10a11fc

File tree

3 files changed

+17
-15
lines changed

3 files changed

+17
-15
lines changed

examples/nested.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ const Test = React.createClass({
6060
builtinPlacements={builtinPlacements}
6161
popup={<div style={popupBorderStyle}>i am a click popup</div>}
6262
>
63+
<span>
6364
<Trigger
6465
popupPlacement="bottom"
6566
action={['hover']}
@@ -68,6 +69,7 @@ const Test = React.createClass({
6869
>
6970
<span href="#" style={{ margin: 20 }}>trigger</span>
7071
</Trigger>
72+
</span>
7173
</Trigger>
7274
</div>
7375
<div style={{ margin: 50 }}>

src/Trigger.jsx

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -107,13 +107,7 @@ const Trigger = React.createClass({
107107
const self = this;
108108
self.popupInstance = ReactDOM.unstable_renderSubtreeIntoContainer(this,
109109
this.getPopupElement(),
110-
this.getPopupContainer(), function renderPopup() {
111-
/* eslint react/no-is-mounted:0 */
112-
if (this.isMounted()) {
113-
self.popupDomNode = this.getPopupDomNode();
114-
} else {
115-
self.popupDomNode = null;
116-
}
110+
this.getPopupContainer(), () => {
117111
if (prevState.popupVisible !== state.popupVisible) {
118112
props.afterPopupVisibleChange(state.popupVisible);
119113
}
@@ -228,7 +222,7 @@ const Trigger = React.createClass({
228222

229223
getPopupDomNode() {
230224
// for test
231-
return this.popupDomNode;
225+
return this.popupInstance.isMounted() ? this.popupInstance.getPopupDomNode() : null;
232226
},
233227

234228
getRootDomNode() {

tests/index.js

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -239,19 +239,19 @@ describe('rc-trigger', function main() {
239239
// can not simulate mouseenter
240240
Simulate.mouseEnter(target);
241241
Simulate.click(target);
242-
async.series([timeout(100), (next) => {
242+
async.series([timeout(200), (next) => {
243243
const clickPopupDomNode = trigger.refs.clickTrigger.getPopupDomNode();
244244
const hoverPopupDomNode = trigger.refs.hoverTrigger.getPopupDomNode();
245245
expect(clickPopupDomNode).to.be.ok();
246246
expect(hoverPopupDomNode).to.be.ok();
247247
Simulate.mouseLeave(target);
248248
next();
249-
}, timeout(100), (next) => {
249+
}, timeout(200), (next) => {
250250
const hoverPopupDomNode = trigger.refs.hoverTrigger.getPopupDomNode();
251251
expect($(hoverPopupDomNode).css('display')).to.be('none');
252252
Simulate.click(target);
253253
next();
254-
}, timeout(100), (next) => {
254+
}, timeout(200), (next) => {
255255
const clickPopupDomNode = trigger.refs.clickTrigger.getPopupDomNode();
256256
expect($(clickPopupDomNode).css('display')).to.be('none');
257257
next();
@@ -521,7 +521,7 @@ describe('rc-trigger', function main() {
521521
});
522522

523523
describe('destroyPopupOnHide', () => {
524-
it('defaults to false', () => {
524+
it('defaults to false', (done) => {
525525
const trigger = ReactDOM.render(
526526
<Trigger
527527
action={['click']}
@@ -534,10 +534,13 @@ describe('rc-trigger', function main() {
534534
Simulate.click(domNode);
535535
expect(trigger.getPopupDomNode()).to.be.ok();
536536
Simulate.click(domNode);
537-
expect(trigger.getPopupDomNode()).to.be.ok();
537+
setTimeout(() => {
538+
expect(trigger.getPopupDomNode()).to.be.ok();
539+
done();
540+
}, 0);
538541
});
539542

540-
it('set true will destroy tooltip on hide', () => {
543+
it('set true will destroy tooltip on hide', (done) => {
541544
const trigger = ReactDOM.render(
542545
<Trigger
543546
action={['click']}
@@ -551,7 +554,10 @@ describe('rc-trigger', function main() {
551554
Simulate.click(domNode);
552555
expect(trigger.getPopupDomNode()).to.be.ok();
553556
Simulate.click(domNode);
554-
expect(trigger.getPopupDomNode()).not.to.be.ok();
557+
setTimeout(() => {
558+
expect(trigger.getPopupDomNode()).not.to.be.ok();
559+
done();
560+
}, 0);
555561
});
556562
});
557563

0 commit comments

Comments
 (0)