<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>