Ant*_*ine 5 javascript css reactjs material-ui
我的问题很简单,我有一个<Tooltip>组件围绕着一个<Select>组件,当我单击“选择”时,工具提示会显示在菜单项上,如下所示:
正常行为:
不那么正常的行为:
因此,我保留了 Material-UI 和工具提示的所有默认值:zIndex: 1500但据我所知,MenuItem 没有默认值。我尝试将 MenuItem 的 zIndex 设置为 1501,但它仍然具有相同的行为。
我想知道将工具提示留在 MenuItem 后面的干净方法是什么,如果不可能,则在打开 Select MenuItems 时隐藏工具提示...
我的代码如下所示:
<Tooltip title={'Filter by status'}>
<Select value={this.state.status} onChange={this.handleChange.bind(this, Filter.Status)}>
{statuses.sort(this.filterItemSortFn).map(item => {
return (<MenuItem style={{zIndex: 1501}} value={item}>{item}</MenuItem>);
})}
</Select>
</Tooltip>
Run Code Online (Sandbox Code Playgroud)
如果我将工具提示的 zIndex 设置为较小的值,它会隐藏在 menuItems 后面,但我真的不想使用默认值,因为它也会干扰其他 zIndex 值。
我做了一个CodeSandbox:https ://codesandbox.io/s/rn68z4xlo
小智 9
Liam 的答案完全不正确,Joe 的答案不适用于 MUI v4。
Tooltip 组件从 Popper 组件获取其 z-index,因此仅更改 Tooltip 的 z-index 不会产生任何效果。您需要将 z-index 从 Tooltip 传递到 Popper。
就像这样:
<Tooltip title={"foo"} PopperProps={{style:{zIndex:0}}}>
Run Code Online (Sandbox Code Playgroud)
这是 Material-Ui Tooltip 中的一个错误,我想它已经在新版本中修复了
您可以通过将 zIndex 添加到工具提示来解决该问题
<Tooltip title={"Message"} style={{ zIndex: '1' }}>
<Select
value={this.state.name}
onChange={this.handleChange}
input={<Input id="select-multiple" />}
MenuProps={MenuProps}
>
{names.map(name => (
<MenuItem key={name} value={name}>
{name}
</MenuItem>
))}
</Select>
</Tooltip>
Run Code Online (Sandbox Code Playgroud)
或者,如果您想在菜单打开时完全隐藏它,请使用此代码
<Tooltip title={"Message"}
onClick={() => this.setState({ tooltip: !this.state.tooltip })}
style={this.state.tooltip ? {display: 'none'}:{ zIndex: '1' }}>
<Select
value={this.state.name}
onChange={this.handleChange}
input={<Input id="select-multiple" />}
MenuProps={MenuProps}
>
{names.map(name => (
<MenuItem key={name} value={name}>
{name}
</MenuItem>
))}
</Select>
</Tooltip>
Run Code Online (Sandbox Code Playgroud)
定义的工具提示状态
class MultipleSelect extends React.Component {
state = {
name: [],
tooltip: false,
};
Run Code Online (Sandbox Code Playgroud)
https://codesandbox.io/s/0xrlmv96vl
| 归档时间: |
|
| 查看次数: |
14838 次 |
| 最近记录: |