<script> import Trigger from '../index'; import '../assets/index.less'; import './point.less'; const builtinPlacements = { topLeft: { points: ['tl', 'tl'], }, }; export default { data () { return { action: 'click', mouseEnterDelay: 0, }; }, methods: { onActionChange ({ target: { value }}) { this.action = value; }, onDelayChange ({ target: { value }}) { this.mouseEnterDelay = Number(value) || 0; }, }, render () { const { action, mouseEnterDelay } = this; const innerTrigger = ( <div style={{ padding: '20px', background: 'rgba(0, 255, 0, 0.3)' }} > This is popup </div> ); return ( <div> <label> Trigger type: {' '} <select value={action} onChange={this.onActionChange}> <option>click</option> <option>hover</option> <option>contextmenu</option> </select> </label> {' '} {action === 'hover' && <label> Mouse enter delay: {' '} <input type='text' value={mouseEnterDelay} onChange={this.onDelayChange} /> </label>} <div style={{ margin: '50px' }}> <Trigger popupPlacement='topLeft' action={[action]} popupAlign={{ overflow: { adjustX: 1, adjustY: 1, }, }} mouseEnterDelay={mouseEnterDelay} popupClassName='point-popup' builtinPlacements={builtinPlacements} popup={innerTrigger} alignPoint > <div style={{ border: '1px solid red', padding: '100px 0', textAlign: 'center', }} > Interactive region </div> </Trigger> </div> </div> ); }, }; </script>