材质 UI 工具提示在带有溢出滚动的容器内未正确显示

IT技术 javascript html css reactjs material-ui
2021-05-20 03:17:49

在我的 reactJS 应用程序中,我使用带有 IconButton 的 Material UI ToolTip 列表作为div带有overflow: scroll. 在特定行中,Material UI ToolTip 如下所示:

   <ClickAwayListener onClickAway={handleTooltipClose}>
      <Tooltip
        PopperProps={{
          disablePortal: true,
        }}
        onClose={handleTooltipClose}
        open={open}
        disableFocusListener
        disableHoverListener
        disableTouchListener
        title={data}
        arrow
      >
        <InfoOutlinedIcon
          className={classes.root}
          onClick={handleTooltipOpen}
        />
      </Tooltip>
    </ClickAwayListener>

工具提示的位置也与显示不正确:

工具提示错误 工具提示

我不能overflow: visible;在包含表格和工具提示的 div 容器上使用,因为我想要滚动行为,有什么方法可以让工具提示从容器中弹出而不剪裁?

1个回答

Material-UI 使用Popper.js. 您可以通过Tooltip PopperProps使用不同的Popper.js 选项来处理这些类型的情况。在您的场景中,我认为您可以使用修饰符preventOverflow

<Tooltip
  PopperProps={{
    disablePortal: true,
    popperOptions: {
      positionFixed: true,
      modifiers: {
        preventOverflow: {
          enabled: true,
          boundariesElement: "window" // where "window" is the boundary
        }
      }
    }
  }}
  title={popperTitle}
  aria-label="add"
>

编辑材料演示(分叉)