Simplest way of using Tooltip is by leveraging it's
show prop and specifying
alignPosition to determine it's position relative to the element it's aligned to.
If you have multiple Tooltips on the page, TooltipProvider allows you to only have to instantiate the component once and simply provide html attributes to the elements that need tooltips.
By using the
<TooltipProvider> it allows you to add the desired tooltip content on each element as a data attribute.
Here's a list of html attributes that you can provide to children elements of the TooltipProvider:
titleis for the tooltip content.
data-tooltip-alignis for alignment direction.
data-tooltip-delayis for the delay(ms) before showing the tooltip.
data-tooltip-floatingdefines if the tooltip should be floating positioned where the mouse is over the element.
contentRenderer prop gives you the ability to format the content passed to the Tooltip via the
title attribute to meet your requirements.
Disabled elements with title
Elements or components that use the browser's native
disabled property, have the problem of the provider not being able to track element events, natively elements with disabled do not trigger events, such as
keydown... if the element has a
title the tooltip will not work correctly, for this scenario we recommend using a different strategy to continue that the element emits events but still has the disabled state. For example, the Button component:
// instead of
<button className="btn btn-primary" disabled="" title="Open Menu">Click</button>
<Button disabled title="Top">Top</Button>
<button className="btn btn-primary disabled" aria-disabled="true" title="Open Menu">Click</button>
<Button aria-disabled="true" className="disabled" title="Top">Top</Button>
disabled CSS class that adds the visual state of disabled and the
aria-disabled property to keep the element accessible, this same behavior can be repeated for other elements where you want the title even when the component is disabled.