常用于展示鼠標(biāo) hover 時(shí)的提示信息。
在這里我們提供 9 種不同方向的展示方式,可以通過(guò)以下完整示例來(lái)理解,選擇你要的效果。
使用content
屬性來(lái)決定hover
時(shí)的提示信息。由placement
屬性決定展示效果:placement
屬性值為:方向-對(duì)齊位置
;四個(gè)方向:top
、left
、right
、bottom
;三種對(duì)齊位置:start
, end
,默認(rèn)為空。如placement="left-end"
,則提示信息出現(xiàn)在目標(biāo)元素的左側(cè),且提示信息的底部與目標(biāo)元素的底部對(duì)齊。
render() {
return (
<div className="box">
<div className="top">
<Tooltip className="item" effect="dark" content="Top Left 提示文字" placement="top-start">
<Button>上左</Button>
</Tooltip>
<Tooltip className="item" effect="dark" content="Top Center 提示文字" placement="top">
<Button>上邊</Button>
</Tooltip>
<Tooltip className="item" effect="dark" content="Top Right 提示文字" placement="top-end">
<Button>上右</Button>
</Tooltip>
</div>
<div className="left">
<Tooltip className="item" effect="dark" content="Left Top 提示文字" placement="left-start">
<Button>左上</Button>
</Tooltip>
<Tooltip className="item" effect="dark" content="Left Center 提示文字" placement="left">
<Button>左邊</Button>
</Tooltip>
<Tooltip className="item" effect="dark" content="Left Bottom 提示文字" placement="left-end">
<Button>左下</Button>
</Tooltip>
</div>
<div className="right">
<Tooltip className="item" effect="dark" content="Right Top 提示文字" placement="right-start">
<Button>右上</Button>
</Tooltip>
<Tooltip className="item" effect="dark" content="Right Center 提示文字" placement="right">
<Button>右邊</Button>
</Tooltip>
<Tooltip className="item" effect="dark" content="Right Bottom 提示文字" placement="right-end">
<Button>右下</Button>
</Tooltip>
</div>
<div className="bottom">
<Tooltip className="item" effect="dark" content="Bottom Left 提示文字" placement="bottom-start">
<Button>下左</Button>
</Tooltip>
<Tooltip className="item" effect="dark" content="Bottom Center 提示文字" placement="bottom">
<Button>下邊</Button>
</Tooltip>
<Tooltip className="item" effect="dark" content="Bottom Right 提示文字" placement="bottom-end">
<Button>下右</Button>
</Tooltip>
</div>
</div>
)
}
Tooltip 組件提供了兩個(gè)不同的主題:dark
和light
。
通過(guò)設(shè)置effect
屬性來(lái)改變主題,默認(rèn)為dark
。
render() {
return (
<div>
<Tooltip content="Top center" placement="top">
<Button>Dark</Button>
</Tooltip>
<Tooltip content="Bottom center" placement="bottom" effect="light">
<Button>Light</Button>
</Tooltip>
</div>
)
}
展示多行文本或者是設(shè)置文本內(nèi)容的格式
content
屬性也可以是ReactElement
。
render() {
return (
<Tooltip
placement="top"
content={
<div>多行信息<br/>第二行信息</div>
}
>
<Button>Top center</Button>
</Tooltip>
)
}
除了這些基本設(shè)置外,還有一些屬性可以讓使用者更好的定制自己的效果:transition
屬性可以定制顯隱的動(dòng)畫效果,默認(rèn)為fade-in-linear
。如果需要關(guān)閉tooltip
功能,disabled
屬性可以滿足這個(gè)需求,它接受一個(gè)Boolean
,設(shè)置為true
即可。
通過(guò) state 中的 disabled 控制是否觸發(fā) tooltip
constructor(props){
super(props);
this.state = {
disabled: false
}
}
render() {
return (
<Tooltip disabled={ this.state.disabled } content="點(diǎn)擊關(guān)閉 tooltip 功能" placement="bottom" effect="light">
<Button onClick={ e => this.setState({ disabled: true}) }>點(diǎn)擊關(guān)閉 tooltip 功能</Button>
</Tooltip>
)
}
參數(shù) | 說(shuō)明 | 類型 | 可選值 | 默認(rèn)值 |
---|---|---|---|---|
effect | 默認(rèn)提供的主題 | String | dark , light |
dark |
content | 顯示的內(nèi)容 | String/Node | — | — |
placement | Tooltip 的出現(xiàn)位置 | String | top , top-start , top-end , bottom , bottom-start , bottom-end , left , left-start , left-end , right , right-start , right-end |
bottom |
visible | 狀態(tài)是否可見(jiàn) | Boolean | — | false |
disabled | Tooltip 是否可用 | Boolean | — | false |
transition | 定義漸變動(dòng)畫 | String | — | fade-in-linear |
visibleArrow | 是否顯示 Tooltip 箭頭 | Boolean | — | true |
openDelay | 延遲出現(xiàn),單位毫秒 | Number | — | 0 |
manual | 手動(dòng)控制模式,設(shè)置為 true 后,mouseenter 和 mouseleave 事件將不會(huì)生效 | Boolean | true,false | false |
更多建議: