AntDesignのTooltipでdisabled的な事をしたい

8184 ワード

結論

triggerのpropsに''を渡すとTooltipが表示されなくなるハック的なやり方です。

  <Tooltip trigger={disabled ? '' : 'hover'}>
    {children}
  </Tooltip>

↓こんな感じ

import React from 'react'
import { Tooltip as AntTooltip, TooltipProps } from 'antd'

type Props = { disabled: boolean } & TooltipProps
const Tooltip: React.FC<Props> = ({ disabled, children, trigger, ...props }) => 
  <AntTooltip
    {...props}
    trigger={disabled ? '' : trigger}
  >
    {children}
  </AntTooltip>

課題

Tooltipにdisabled的なpropsが存在しない

Buttonコンポーネントの様にdisabledを指定して、特定の条件の時だけtooltipが表示されないようにしたい!

しかし、AntdのTooltipのAPI部分を見る限り、その様なものはない。