@@ -31,14 +31,27 @@ const builtinPlacements = {
3131 } ,
3232} ;
3333
34- function preventDefault ( e ) {
35- e . preventDefault ( ) ;
36- }
37-
3834function getPopupContainer ( trigger ) {
3935 return trigger . parentNode ;
4036}
4137
38+ const InnerTarget = React . forwardRef ( ( props , ref ) => {
39+ React . useImperativeHandle ( ref , ( ) => ( { } ) ) ;
40+
41+ return (
42+ < div
43+ style = { { margin : 20 , display : 'inline-block' , background : 'rgba(255, 0, 0, 0.05)' } }
44+ tabIndex = { 0 }
45+ role = "button"
46+ { ...props }
47+ >
48+ < p > This is a example of trigger usage.</ p >
49+ < p > You can adjust the value above</ p >
50+ < p > which will also change the behaviour of popup.</ p >
51+ </ div >
52+ ) ;
53+ } ) ;
54+
4255class Test extends React . Component {
4356 state = {
4457 mask : false ,
@@ -259,7 +272,7 @@ class Test extends React.Component {
259272 </ div >
260273 < div style = { { margin : 120 , position : 'relative' } } >
261274 < Trigger
262- getPopupContainer = { undefined && getPopupContainer }
275+ getPopupContainer = { getPopupContainer }
263276 popupAlign = { this . getPopupAlign ( ) }
264277 popupPlacement = { state . placement }
265278 destroyPopupOnHide = { this . state . destroyPopupOnHide }
@@ -281,15 +294,7 @@ class Test extends React.Component {
281294 popup = { < div > i am a popup</ div > }
282295 popupTransitionName = { state . transitionName }
283296 >
284- < a
285- style = { { margin : 20 , display : 'inline-block' , background : 'rgba(255, 0, 0, 0.05)' } }
286- href = "#"
287- onClick = { preventDefault }
288- >
289- < p > This is a example of trigger usage.</ p >
290- < p > You can adjust the value above</ p >
291- < p > which will also change the behaviour of popup.</ p >
292- </ a >
297+ < InnerTarget />
293298 </ Trigger >
294299 </ div >
295300 </ div >
0 commit comments