<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
style={{
border: '1px solid red',
padding: '100px 0',
textAlign: 'center',
Interactive region
</Trigger>
</script>