<script> import Trigger from '../index'; import '../assets/index.less'; const builtinPlacements = { left: { points: ['cr', 'cl'], }, right: { points: ['cl', 'cr'], }, top: { points: ['bc', 'tc'], }, bottom: { points: ['tc', 'bc'], }, topLeft: { points: ['bl', 'tl'], }, topRight: { points: ['br', 'tr'], }, bottomRight: { points: ['tr', 'br'], }, bottomLeft: { points: ['tl', 'bl'], }, }; const popupBorderStyle = { border: '1px solid red', padding: '10px', }; export default { render() { return ( <div style={{ margin: '200px' }}> <div> <Trigger popupPlacement="left" action={['click']} builtinPlacements={builtinPlacements}> <div slot="popup" style={popupBorderStyle}> i am a click popup </div> <span> <div ref="saveContainerRef1" /> <Trigger popupPlacement="bottom" action={['hover']} builtinPlacements={builtinPlacements} getPopupContainer={() => this.$refs.saveContainerRef1} > <div slot="popup" style={popupBorderStyle}> i am a hover popup </div> <span href="#" style={{ margin: '20px' }}> trigger </span> </Trigger> </span> </Trigger> </div> {false ? ( <div style={{ margin: '50px' }}> <Trigger popupPlacement="right" action={['click', 'hover']} builtinPlacements={builtinPlacements} > <div style={popupBorderStyle} slot="popup" onClick={e => { e.stopPropagation(); }} > <div ref="saveContainerRef" /> <Trigger popupPlacement="bottom" action={['click']} builtinPlacements={builtinPlacements} getPopupContainer={() => this.$refs.saveContainerRef} > <div slot="popup" style={popupBorderStyle}> I am inner Trigger Popup </div> <span href="#" style={{ margin: 20 }}> clickToShowInnerTrigger </span> </Trigger> </div> <span href="#" style={{ margin: '20px' }} onClick={console.log}> trigger </span> </Trigger> </div> ) : null} </div> ); }, }; </script>