export default function DemoNoTrigger()

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>
  </>;
}