in packages-rc/console-base-rc-tooltip/stories/demo-default/index.tsx [91:135]
export default function DemoNoTrigger(): JSX.Element {
const [stateVisible, setStateVisible] = useState<boolean>();
const [stateTooltipProps, setStateTooltipProps] = useState<KnobProps>({
content: ''
});
const handleTriggerMouseEnter = useCallback(() => {
setStateVisible(true);
}, [setStateVisible]);
const handleTriggerMouseLeave = useCallback(() => {
setStateVisible(false);
}, [setStateVisible]);
const handleClose = useCallback(() => {
setStateVisible(false);
}, [setStateVisible]);
const {
config,
...tooltipProps
} = stateTooltipProps;
return <>
<ThemeSwitcher />
<PkgInfo />
<InputSwitch {...{
label: 'props.visible',
value: stateVisible,
onChange: setStateVisible
}} />
<P>目前没有配合 trigger 的功能,只能使用者定位</P>
<Knobs onChange={setStateTooltipProps} />
<ScFakeTriggerWrapper {...{
onMouseEnter: handleTriggerMouseEnter,
onMouseLeave: handleTriggerMouseLeave
}}>
<Tooltip {...{
...tooltipProps,
visible: stateVisible,
defaultVisible: true,
style: STYLE[tooltipProps.placement || TooltipPlacement.TOP],
onConfig: config ? onConfig : undefined,
onClose: handleClose
}} />
</ScFakeTriggerWrapper>
</>;
}