React Trigger Component
Include the default styling and then:
import React from 'react';
import ReactDOM from 'react-dom';
import Trigger from '@rc-component/trigger';
ReactDOM.render(
<Trigger
action={['click']}
popup={<span>popup</span>}
popupAlign={{
points: ['tl', 'bl'],
offset: [0, 3],
}}
>
<a href="#">hover</a>
</Trigger>,
container,
);![]() IE / Edge |
![]() Firefox |
![]() Chrome |
![]() Safari |
![]() Electron |
|---|---|---|---|---|
| IE11, Edge | last 2 versions | last 2 versions | last 2 versions | last 2 versions |
npm install
npm start
| name | type | default | description |
|---|---|---|---|
| alignPoint | bool | false | Popup will align with mouse position (support action of 'click', 'hover' and 'contextMenu') |
| popupClassName | string | additional className added to popup | |
| forceRender | boolean | false | whether render popup before first show |
| destroyPopupOnHide | boolean | false | whether destroy popup when hide |
| getPopupClassNameFromAlign | getPopupClassNameFromAlign(align: Object):String | additional className added to popup according to align | |
| action | string[] | ['hover'] | which actions cause popup shown. enum of 'hover','click','focus','contextMenu' |
| mouseEnterDelay | number | 0 | delay time to show when mouse enter. unit: s. |
| mouseLeaveDelay | number | 0.1 | delay time to hide when mouse leave. unit: s. |
| popupStyle | Object | additional style of popup | |
| prefixCls | String | rc-trigger-popup | prefix class name |
| popupTransitionName | String|Object | https://github.com/react-component/animate | |
| maskTransitionName | String|Object | https://github.com/react-component/animate | |
| onPopupVisibleChange | Function | call when popup visible is changed | |
| mask | boolean | false | whether to support mask |
| maskClosable | boolean | true | whether to support click mask to hide |
| popupVisible | boolean | whether popup is visible | |
| zIndex | number | popup's zIndex | |
| defaultPopupVisible | boolean | whether popup is visible initially | |
| popupAlign | Object: alignConfig of [dom-align](https://github.com/yiminghe/dom-align) | popup 's align config | |
| onPopupAlign | function(popupDomNode, align) | callback when popup node is aligned | |
| popup | React.Element | function() => React.Element | popup content | |
| getPopupContainer | getPopupContainer(): HTMLElement | function returning html node which will act as popup container | |
| getDocument | getDocument(): HTMLElement | function returning document node which will be attached click event to close trigger | |
| popupPlacement | string | use preset popup align config from builtinPlacements, can be merged by popupAlign prop | |
| builtinPlacements | object | builtin placement align map. used by placement prop | |
| stretch | string | Let popup div stretch with trigger element. enums of 'width', 'minWidth', 'height', 'minHeight'. (You can also mixed with 'height minWidth') |
npm test
npm run coverage
open coverage/ dir
rc-trigger is released under the MIT license.





